首页 > 编程语言 >01:python基础

01:python基础

时间:2023-04-05 15:45:57浏览次数:38  
标签:编码 01 UTF 字节 python 基础 Unicode print studentNameList

 

 

正文

# 打印内容print() 输入内容input()
print("helloWorld!")

# 1:注释:输入内容
# name = input("请输入你的名字:")
# print("hello,", name, "您好")

print("1024 * 768 = ", 1024*768)

# 2: 4个缩进代表代码块
# Python程序是大小写敏感的,如果写错了大小写,程序会报错。
# 求绝对值
'''
相对于前一行需要缩进的时候,需要加冒号,
比如for,while,if,else,def,class,with等语句,它表明了冒号后面的内容与当前语句是一种 从属 而非并列关系。
'''
a = 100
if a > 0:
    print("绝对值是:", a)
else:
    print("绝对值是:", -a)

# 3:Python 数据类型和变量 

# 这种变量本身类型不固定的语言称之为动态语言,与之对应的是静态语言。
# 静态语言在定义变量时必须指定变量类型,如果赋值的时候类型不匹配,就会报错

# 3.1:整数
intValue = 10
print('整数类型:', intValue)

# 3.2:浮点型
floatValue = 10.0
print('浮点型:', floatValue)

# 3.3:字符串
stringValue = 'I\'m string'
print('字符串类型:', stringValue)

# 3.4:bool
boolValue = True
print('bool类型:', boolValue)

# 3.5: 逻辑运算符 and or not
print('逻辑与运算:', True and False)
print('逻辑或运算:', True or False)
print('逻辑非运算:', not True)

# 3.6:空值 None

# 4:字符串和编码
''' ASCII  Unicode UTF-8编码
ASCII:英文编码
Unicode:统一编码
UTF-8:中文编码

存储在硬盘、文本、游览器是UTF-8编码。
服务器是Unicode编码

因为计算机只能处理数字,如果要处理文本,就必须先把文本转换为数字才能处理。最早的计算机在设计时采用8个比特(bit)作为一个字节(byte),
所以,一个字节能表示的最大的整数就是255(二进制11111111=十进制255),如果要表示更大的整数,就必须用更多的字节。
比如两个字节可以表示的最大整数是65535,4个字节可以表示的最大整数是4294967295。

由于计算机是美国人发明的,因此,最早只有127个字符被编码到计算机里,也就是大小写英文字母、数字和一些符号,
这个编码表被称为ASCII编码,比如大写字母A的编码是65,小写字母z的编码是122。

但是要处理中文显然一个字节是不够的,至少需要两个字节,而且还不能和ASCII编码冲突,所以,中国制定了GB2312编码,用来把中文编进去。
你可以想得到的是,全世界有上百种语言,日本把日文编到Shift_JIS里,韩国把韩文编到Euc-kr里,各国有各国的标准,
就会不可避免地出现冲突,结果就是,在多语言混合的文本中,显示出来会有乱码。

因此,Unicode字符集应运而生。Unicode把所有语言都统一到一套编码里,这样就不会再有乱码问题了。
又出现了把Unicode编码转化为“可变长编码”的UTF-8编码。

UTF-8编码把一个Unicode字符根据不同的数字大小编码成1-6个字节,常用的英文字母被编码成1个字节,汉字通常是3个字节,
只有很生僻的字符才会被编码成4-6个字节。
1个中文字符经过UTF-8编码后通常会占用3个字节,而1个英文字符只占用1个字节。
如果你要传输的文本包含大量英文字符,用UTF-8编码就能节省空间:

搞清楚了ASCII、Unicode和UTF-8的关系,我们就可以总结一下现在计算机系统通用的字符编码工作方式:

在计算机内存中,统一使用Unicode编码,当需要保存到硬盘或者需要传输的时候,就转换为UTF-8编码。

用记事本编辑的时候,从文件读取的UTF-8字符被转换为Unicode字符到内存里,编辑完成后,保存的时候再把Unicode转换为UTF-8保存到文件:
浏览网页的时候,服务器会把动态生成的Unicode内容转换为UTF-8再传输到浏览器:
'''

# 4.1:ord() 获取字符的整数表示
strIntValue = ord("国")
print(strIntValue)

# 4.2:  char() 整数的字符表示
intStringValue = chr(strIntValue)
print(intStringValue)

# 4.3: 格式化字符
formatStr = 'hi, %s' % '张三'
print(formatStr)

# 多个变量的时候用()拼接起来
formatString1 = 'hi, %s: %s' %('张三', '您好')
print(formatString1)

# 4.4:f-string 字符串,插值表达式
nameStr = '张三,你好'
print(f'hi, {nameStr}')

# 5:list和tuple
# list Python内置的一种数据类型是列表:list。list是一种有序的集合,可以随时添加和删除其中的元素。

studentNameList = ['张三', '李四', '王五']
# 元素的长度
print(studentNameList)

# 索引访问数组
print(studentNameList[0])

# 可以从后面想前面数 -1代表最后一个元素,-2倒数第二个元素
print(studentNameList[-1])

# 也需要知道数组越界

# 添加元素
# append添加到最后一个位置
studentNameList.append('yiyi')

# insert添加到指定位置
studentNameList.insert(1, 'khdskahf')
print(studentNameList)

# 删除末尾元素
studentNameList.pop()

# 删除指定位置元素
studentNameList.pop(1)
print(studentNameList)

# 数组可以有二维数组和多维数组

# 6:tuple:另一种有序列表叫元组:tuple。tuple和list非常类似,但是tuple一旦初始化就不能修改,比如同样是列出同学的名字:
studentNameTuple: tuple = ('张三', '李四', '王五')
print(studentNameTuple)

# 元组只有一个元素的时候用(1,)
onlyOneElement = (1,)
print(onlyOneElement[0])

# 空的元组
nullTuple = ()
print(nullTuple)


# 7:条件判断
# :冒号代表缩进:代表从属关系而不是并列关系
# elif是else if 的缩写
sevenAge = 19
if sevenAge > 18: 
    print('年龄大于18')
elif sevenAge > 30:
    print('年龄大于20')
elif sevenAge > 60:
    print('年龄大于60')
else:
    print('年龄小于18')

# 8:循环
# for循环
nameList = ['张三', 'zz', 'jiqi']
for name in nameList:
    print('for循环'+name)

# while循环
sum = 0
n = 100
while n > 0:
    sum = sum + n
    n = n - 1
print(sum)

# break,跳出当前的循环,continue跳出当前的循环,之后代码不会执行,进行下一个循环

# 9:字典
print('\n\n---字典---')
nameScoreDic = {'张三': 60, '李四':70, 'aa': 80}
print(nameScoreDic['张三'])
print(nameScoreDic)
print('---字典---')

# 判断字典中是否存在key
if 'lis' in nameScoreDic:
    print(nameScoreDic['lis'])
else:
    # 没有key的话,用get方法获取的值为None
    print(nameScoreDic.get('lis'))
    print('不存在key=lis')

'''
和list比较,dict有以下几个特点:

查找和插入的速度极快,不会随着key的增加而变慢;
需要占用大量的内存,内存浪费多。
而list相反:

查找和插入的时间随着元素的增加而增加;
占用空间小,浪费内存很少。
所以,dict是用空间来换取时间的一种方法。
'''

# 10:set集合 里面的元素不重复
s = set([1, 2, 3])
print(s)

# 添加元素
s.add(4)
print(s)

# 删除元素
s.remove(4)
print(s)
# set和dict的唯一区别仅在于没有存储对应的value,但是,set的原理和dict一样,所以,同样不可以放入可变对象,因为无法判断两个可变对象是否相等

 

标签:编码,01,UTF,字节,python,基础,Unicode,print,studentNameList
From: https://www.cnblogs.com/zyzmlc/p/17289542.html

相关文章

  • Java基础
    注释1.单行注释//用于注释少量的代码或者对附近的代码进行说明2.多行注释/*/多用于注释多行代码3.文档注释/**/一般用于对类和方法进行说明vscode注释方法的快捷键:1.单行注释:选中区域Ctrl+/取消注释同样是这个快捷键2.多行注释:选中区域Alt+Shif......
  • Docker基础知识
    容器生态系统Docker现在几乎是容器的代名词,但在Docker围绕的还有一个生态系统。Docker是这个生态系统的基石,但完善的生态系统才是保障Docker以及容器技术能够真正健康发展的决定因素。容器生态系统包含核心技术、平台技术和支持技术 1.容器核心技术容器核心技术是指能够......
  • python flask 框架后端如何获取前端的表单数据 文本 单选框 多选框
    文本pyhon后端用request.values.get("name")去获取  if request.method == "POST":        username = request.values.get("username")     sex = request.values.get("sex") 二、多选按钮checkbox  <......
  • 一些常用的Python调试工具
    pdb:Python自带的调试工具,可以在代码中添加断点并逐步执行代码,以便逐步检查代码执行的过程。ipdb:基于pdb的增强版,支持更多的交互式调试功能。PyCharm:一个常用的Python集成开发环境,可以通过图形化界面来调试程序。VisualStudioCode:另一个常用的Python集成开发环境,也可......
  • 2013年工作中遇到的20个问题:41-60
    41.API的稳定性publicstaticList<Integer>getStatusCode(Stringrole);被多个方法调用。其中一个方法是xxxFunction(){getStatusCode(“role”);现在需要给getStatusCode增加一个参数,aa;参数的值aa从session中取得,aa=ActionContextUtils.getFromSession("aa");现在遇到一个问题,如......
  • 2012总结--第8篇--感情篇
    1.亲情家人2012年春上离开家里后,还没有回去过。只是偶尔给家里打个电话。家人倒是希望我早点回去。不知道为什么,我总有种“不成就一番伟业不回家"的感觉。这个儿子白养了”。这话太犀利了。无言以对!沉默!至亲家人没有见到,其他亲人就更不用说了。只是和......
  • 2013的战略规划
    心态:淡定一点,工作-学习-生活更有耐心一点。战略:制定2014到2018的5年详细发展规划,至少制定3套可行方案。思考今后的人生走向,打工-创业-结婚-潇洒。读书:阅读新书30本,复习旧书50本。整理书中精华,吸收并分享。写作:技术相关100篇,非技术100篇。财务:要狠狠地攒一笔。再少,也要比2012年多......
  • 2012总结--第7篇--财务篇
    特别说明:1.Fans比较节省,有少量积蓄,但Fans想说的:Fans辛辛苦苦攒钱既不是为了炫富,也不是用来给你借的!谢谢理解!2.Fans不会轻易向别人借钱。金钱关系应该是双方甚至多方的合作关系。3.世人的烦恼很多都是因为金钱问题没有处理好而导致的。如果你摆平不了金钱,你很可能会被金钱......
  • 2012总结--第6篇--装备篇
    时代在进步,Fans的装备也再不断更新换代。1.天龙八部今年2月份的时候,又玩了下天龙八部-火影fans这个少林门派的号。终于下定决心,充值了300元,换成元宝后,从“元宝商店”买了10几个“3级宝石”。3级红宝石,3级皓石,3级碧玺,3级虎眼。打完宝石,看了下属性值,打了几个怪。和人PK下。尼......
  • 01. Jenkins - 安装说明(War / Kubernetes)
    CI/CD日常运维中常常听到CI/CD这个词,它其实包含整个研发生命周期的三个阶段:CI,Continuousintegration,持续集成CD,Continuousdelivery,持续交付CD,Continuousdeployment,持续部署大致的流程图如下:而对于Kubernete的CI/CD工具目前也有很多,比如Jenkins、GitlabCI以及......