#coding=utf-8 中文声明注释 # IPO编程方式 分别是:Input指的是输入、Process 指的是处理、Output指的是输出 ''' #输出函数 print print('输出内容') #print()函数完整的语法格式 #print(value,...,sep='',end='\n',file=None) # sep 分割符, end 结束符 , file 把内容输出到文件当中 print('中国', end='--->') print('|----------') #输出 ASCII 码所对应的字符 chr 函数 print(chr(98)) #输出 字符对应的 ASCII 码 ord 函数 print(ord('b')) #将内容输出到文件 fp=open('note.txt', 'w') #打开文件 w--》write print('北京欢迎您!', file=fp) #将 "北京欢迎您" 输出(写入)到note.txt文件中 fp.close() #关闭文件 #连接符 (+) 只能连接字符 print('中国'+'123') #基本的输入函数 input #inp =input('请输入数字:') #得到的数字内容为字符串可以用 + 作为连接符连接 #print('得到数字:'+inp) #inp=int(inp) #转成整数类型不能再用 + 连接 #print('得到数字:', inp) ''' # 单行注释用 # 号 ''' 多行注释一 注释内容 123456 英文输入下 ''' """ 多行注释二 中文档注释,必需写在文档的第一行 例如: #coding=utf-8 """ # 一般代码 不需要缩进 ''' 示例: print('hello') print('world') ''' # 类的定义 自动缩进 ''' 示例: class Student: pass # 函数的定义 自动缩进 def fun(): pass ''' # 查看保留字 区分大小写 # 引入内置模块 import keyword ''' 示例: # 打印保留字 print(keyword.kwlist) # 打印保留字个数 print(len(keyword.kwlist)) # 变量的定义和使用 luck_number=8 # 创建一个整型变量luck_number,并为其赋值为8 my_name = '张三' # 字符串类型的变量 print('luck_number的数据类型是:',type(luck_number)) # <class 'int'> print(my_name,'的幸运数字是:',luck_number) # python 动态修改变量的数据类型,通过赋值就可以直接修改 luck_number='北京欢迎您' print('luck_number的数据类型是:',type(luck_number)) # <class 'str'> # 在Python中请允许多个变量指向同一个值 no=number=1024 # no与number都指向了1024这个整数值 print(no,number) print(id(no)) # id() 查看对象的内存地址 2160086833648 地址不固定 print(id(number)) # 2160086833648 # 常量的定义 pi = 3.1415926 # 定义了一个变量 PI = 3.1415926 # 定义了一个常量 不可被修改 ''' # 数值类型 整数类型表示的数值是没有小数部分的数值,包含正整数、负整数和0 ''' 进制种类 引导符号 描述 十进制 无 默认情况,例如:365,786 二进制 0b或OB 由字符0和1组成,例如0b10101,0B10101 八进制 0o或00 由字符0到7组成,例如0o763,00765 十六进制 0x或0X 由字符0到9,a到f或A到F组成,例如0x987A,0X987A ''' ''' 示例: num=987 # 默认是十进制,表示整数 num2=0b1010101 # 使用二进制,表示整教 num3=0o765 # 使用八进制,表示整教 num4=0x87ABF # 使用十六进制,表示整数 print(num) print(num2) print(num3) print(num4) ''' ''' 浮点数类型 表示带有小数点的数值,由整数部分和小数部分组成 注意事项:两个浮点类型的数在进行运算时,有一定的概率运算 结果后增加一些“不确定的”尾数 Python中的复数与数学中的复数形式完全一致,由实部和虚部组成 j=√-1 在Python中实数部分使用.real表示,虚数部分使用.imag表示 ''' ''' 示例: # 浮点数类型的使用 height = 188.3 # 身高 print(height) print(type(height)) # 查看数据类型 x = 10 y = 10.0 print('x的数据类型:',type(x)) # <class 'int'> print('y的数据类型:',type(y)) # <class 'float'> x = 1.99E1413 print('科学计数法:',x,'x的数据类型:',type(x)) print(0.1+0.2) # 不确定的尾数问题 0.30000000000000004 print(round(0.1+0.2,1)) # 保留一位小数 结果:0.3 # 复数类型的使用 x = 123+456j print('实数部分:',x.real) print('虚数部分:',x.imag) ''' ''' 字符串类型 字符串类型连续的字符序列,可以表示计算机所能识别的一切字符 字符串的界定符:单引号、双引号、三引号 转义字符 描述说明 \n 换行符 \t 水平制表位,用于横向跳到下一个制表位 \" 双引号 \' 单引号 \\ 一个反斜杠 ''' ''' 示例: city = '深圳市' address = '深圳市白三石龙' print(city) print(address) print('深圳\n欢迎您') print('深圳\t欢迎您') print('深圳欢迎\'您\'') print("深圳\\欢迎\"您\"") ''' """ 示例: # 多选字符串 info = '''地址:深圳市宝安区 民治街道白石龙 一区186栋 ''' print(info) """ # 字符串的索引和切片 # 正向 0 致 9,逆向 -1 致 -10 ''' 示例: s = 'HELLOWORLD' print(s[0],s[-10]) # 序号和序号-10表示的是同一个字符 print('深圳欢迎您'[4]) # 获取的是同一个字符 print('深圳欢迎您'[-1]) # 获取的是同一个字符 print(s[2:7]) # 从2开始到7结束不包含7 正向递增 print(s[-8:-3]) # 反向递减 print(s[:5]) # 默认N从0开始 print(s[5:]) # M 默认是切到字符串的结尾 xy = '2024年' yx = '过年放炮,暴富一整年' print(xy+yx) # 连接两个字符 print(xy*5) # 对xy这个字符串的内容复制5次 print(5*xy) # 效果和 xy*5 一样 isin = '2024' in xy print(isin) # True 判断 2024 是否存在 print('2023' in xy) # False ''' # 非0的整数布尔值都是True # 所有非空的字符串布尔值都是True ''' 数据类型之间的转换 函数 描述说明 int(x) 将x转换为整数类型 float(x) 将x转换为浮点数类型 str(x) 将x转成字符串 chr(x) 将整数 x转换为一个字符 ord(x) 将一个字符x转换为其对应的整数值 hex(x) 将一个整数 x转换为一个十六进制字符串 oct(x) 将一个整数 x转换为一个八进制字符串 bin(x) 将一个整数 x转换为一个二进制字符串 ''' ''' 示例: x = 10 y = 3 z = x/y #在执行除法运算的时候,将运算的结果赋值给z print(z,type(z)) #隐式转换,通过运算隐式的转了结果的类型 # float 类型转成int类型,只保留整数部分 print('float类型转成int类型:', int(3.14)) print('float类型转成int类型:', int(-3.14)) print('float类型转成int类型:', int(-3.9)) # 将int转成float类型 print('将int转成float类型:',float(10)) # 将str转成int类型 print(int('100')+int(10)) # 将字符串转成int或float时报错的情况 # print(int('18a')) #IndentationError: unexpected indent # print(int('3.14')) #IndentationError: unexpected indent # print(int('45a.987')) #IndentationError: unexpected indent # chr() ord() 一对 print(ord('何')) # 将在unicode表中对应的整数值 print(chr(20309)) # 20309 整数在Unicode表中对应的字符是什么 # 进制之间的转换操作,十进制与其他进制之间的转换 print('十进制转成十六进制:', hex(20309)) print('十进制转成八进制:', oct(20309)) print('十进制转成二进制:', bin(20309)) ''' # eval 函数 ''' Python中的内置函数 用于去掉字符串最外侧的引号,并按照Python语句方式执行去掉引 号后的字符串 eval()函数经常和input()函数一起使用 eval的语法格式 变量=eval(字符串) ''' ''' s = '3.14+3' print(s,type(s)) x = eval(s) # 使用eval函数去掉s这个字符串中左右的引号,执行加法运算 print(x,type(x)) # eval函数经常与input()函数一起使用,用来获取用户输入的数值 age = eval(input('请输入您的年龄:')) print(age,type(age)) height = eval(input('请输入您的身高:')) print(height,type(height)) hello = '深圳欢迎您' print(hello) print(eval('hello')) # 输入 "深圳欢迎您" # print(eval('深圳欢迎您')) # NameError: name '深圳欢迎您' is not defined ''' ''' 算术运算符:用于处理四则运算的符号 运算符 描述说明 示例 结果 + 加法 1+1 2 - 减法 1-1 0 * 乘法 2*3 6 / 除法 10/2 5.0 // 整除 10//3 3 % 取余 10%3 1 ** 幂运算 2**4 16 ''' ''' 示例: print('加法:', 1+1) print('减法:', 1-1) print('乘法:', 2*3) print('除法:', 10/2) print('整除:', 10//2) print('取余:', 10%3) print('幂运算:', 2**5) # 2*2*2*2*2 print(10/0) # 报错: ZeroDivisionError: division by zero ''' ''' 赋值运算符 算术运算符的优先级由高到低的是: 第一级:** 第二级:*、/、%、// 第三级:+、- 运算符 描述说明 示例 展开形式 = 简单的赋值运算 x=y x=y += 加赋值 x+=y x=x+y -= 减赋值 x-=y x=x-y *= 乘赋值 x*=y x=x*y /= 除赋值 x/=y x=x/y %= 取余赋值 x%=y x=x%y **= 幂赋值 x**=y x=x**y //= 整除赋值 x//=y x=x//y 示例: x = 20 # 直接赋值,直接将20赋值给左侧的变量x y = 10 x = x+y # 将x+y的和赋值给x,x的值为30 print(x) # x的值是30 x += y # 40 相当于x=x+y print(x) # 40 x -= y # 相当于x=x-y print(x) # 30 x *= y # 300 print(x) x /= y print(x, type(x)) #30.0发生了类型转换 x的数据类型为float类型 x %= 2 # 相当于 x = x%2 print(x) # 0.0 z=3 y //= z # 相当于 y = y//z print(y) # 3 y **= 2 # 相当于 y = y**2 print(y) # 9 # python 支持链式赋值 a=b=c=100 # 相当于执行 a=100 b=100 c=100 print(a,b,c) # Python 支持系列解包赋值 a,b=10,20 # 相当于执行了 a=10 b=20 print(a,b) print('------------如何交换两个变量的值呢------------') a,b = b,a # 将b的值赋给a,将a的值赋给b print(a,b) ''' ''' 比较运算符 运算符 描述说明 示例 展开形式 > 大于 98>90 True < 小于 98<90 False == 等于 98==90 False != 不等于 98!=90 True >= 大于或等于 98>=98 True <= 小于或等于 98<=98 True 示例: print('98大于90吗?', 98>90) print('98小于90吗?', 98<90) print('98等于90吗?', 98==90) print('98不等于90吗?', 98!=90) print('98大于等于98吗?', 98>=98) print('98小于等于98吗?', 98<=98) ''' ''' 逻辑运算符 运算符 描述说明 用法 结合方向 and 逻辑与 表达式1 and 表达式2 从左到右 or 逻辑或 表达式1 or 表达式2 从左到右 not 逻辑非 not 表达式 从右到左 示例: print(True and True) print(True and False) print(False and False) print(False and True) print('-' * 40) print(8>7 and 6>5) # True print(8>7 and 6<5) # False print(8<7 and 10/0) # False,10/0并没有运算,当第一个表达式的结果为False,直接得结果,不会计算and右则的表达式了 print('-' * 40) print(True or True) print(True or False) print(False or False) # False print(False or True) print('-' * 40) print(8>7 or 10/0) # True,左则表达式结果为True时,or的右则表达式根本不执行运算符 print('-' * 40) print( not True) # False print( not False) # True print( not 8>7) # False 位运算符 位运算符 把数字看作二进制数来进行计算的 按“位与”运算(&) 按“位或”运算(|) 0000 0000 0000 1100 0000 0000 0000 0100 & 0000 0000 0000 1000 | 0000 0000 0000 1000 ———————————————————————————— ———————————————————————————— 0000 0000 0000 1000 0000 0000 0000 1100 示例: print('按位与运算:', 12&8) print('按位或运算:', 4&8) 按“位异或”运算 (^) 按“位取反”运算 (~) 0000 0000 0001 1111 ^ 0000 0000 0001 0110 ~ 0000 0000 0111 1011 ____________________________ _______________________________ 0000 0000 0000 1001 1111 1111 1000 0100 示例: print('按位异或运算:', 32^22) print('按位取反:', ~123) 位运算符 “左移位”运算 (<<)是将一个二进制数向左移动指定的位数,左边(高位端)溢出的位被丢弃,右边(低位端)的空位用0补充。 | |0 0 0 0 0 0 1 0 | 0 0|0 0 0 0 1 0 0 0 溢出| 左移后补0 示例:(左乘) print('左移位:', 2<<2) # 8,表示的是2向左移动两位 2*2*2 print('左移位:', 2<<3) # 相当于2* 2*2*2 '右移位”运算 (>>)是将一个二进制数向右移动指定的位数,右边(低 位端)溢出的位被丢弃,左边(高位端)的空位端,如果最高位是0(正数)左 侧空位填0,如果最高位是1(负数),左侧空位填1。 示图1: 0 0 0 0 1 0 0 0| | 0 0 0 0 0 0 1 0|0 0 左移后补0 |溢出 示图2: 1 0 0 0 1 0 0 0| | 1 1 1 0 0 0 1 0|0 0 左移后补1 |溢出 示例:(右除) print('右移位:', 8>>2) # 8向右移动两位相当于 8//2,4//2 print('右移位:', -8>>2) # -2 运算符的优先级 运算符 描述说明 ** 幂运算符 ~、+、- 取反、正号、负号 *、/、%、// 算术运算符 +、- 算术运算符 <<、>> 位运算符中的左移位和右移位 & 位运算符中的按位与 ^ 位运算符中的异域 | 位运算符中的按位或 <、<=、>、>=、!=、== 比较运算符 = 赋值运算符 操作示例: # 通过计算取出对应的数 num = eval(input('请输入一个四位整数:')) print('个位上的数:', num%10) print('十位上的数:', num//10%10) print('百位上的数:', num//100%10) print('千位上的数:', num//1000%10) # 字符串取出对应的数 num = input('请输入一个四位整数:') print('个位上的数:', num[3]) print('十位上的数:', num[2]) print('百位上的数:', num[1]) print('千位上的数:', num[0]) '''
发表评论