正文
# 打印内容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