文章目录
- 一、注释
- 二、数据类型
- 2.1 数据类型分类
- 3.2 数据类型转换
- 三、输入与输出
- 3.1 格式化输出
- 3.1.1 格式化符号
- 3.1.2 格式化输出示例
- 3.1.3 结束符
- 3.1 输入
- 四、运算符
- 五、条件语句
- 5.1 条件语句语法
- 5.2 应用示例
- 六、循环语句
- 6.1 循环语句语法
- 6.2 continue 与 break
- 6.3 应用示例
- 6.4 range()
- 6.5 补充:字典的遍历
一、注释
注释分为:单行注释和多行注释
单行注释
# 注释内容pycharm 中快捷键:ctrl + /
多行注释
''' 注释内容 注释内容 '''""" 注释内容 注释内容 """
二、数据类型
2.1 数据类型分类
python 检测数据类型的方法:type()
a=1print(type(a))# <class 'int'> -- 整型b=1.1print(type(b))# <class 'float'> -- 浮点型c=Trueprint(type(c))# <class 'bool'> -- 布尔类型d='test'print(type(d))# <class 'str'> -- 字符串e=[10,'20',30]print(type(e))# <class 'list'> -- 列表f=(10,'20',True)print(type(f))# <class 'tuple'> -- 元组h={10,20,30}print(type(h))# <class 'set'> -- 集合g={'name':'Kevin','age':20}print(type(g))# <class 'dict'> -- 字典3.2 数据类型转换
| 函数 | 说明 |
|---|---|
| int(x) | 将 x 转换为一个整数 |
| float(x) | 将 x 转换为一个浮点数 |
| complex(real, imag) | 创建一个复数,real 为实部,imag 为虚部 |
| str(x) | 将对象 x 转换为字符串 |
| repr(x) | 将对象 x 转换为表达式字符串 |
| eval(str) | 用来计算在字符串中的有效 Python 表达式,并返回一个对象 |
| tuple(s) | 将序列列 s 转换为一个元组 |
| list(s) | 将序列列 s 转换为一个列列表 |
| chr(x) | 将⼀个整数转换为一个 Unicode 字符 |
| ord(x) | 将⼀个字符转换为它的 ASCII 整数值 |
| oct(x) | 将一个整数转换为一个八进制字符串 |
| bin(x) | 将一个整数转换为一个二进制字符串 |
补充:复数的创建还可以用:a+bj的形式
# 1. int() -- 将数据转换成整型num=1.1print(int(num))# 1print(type(int(num)))# <class 'int'># 2. float() --转换成浮点类型num=1print(float(num))# 1.0print(type(float(num)))# <class 'float'># 3. tuple() -- 将第一个序列转换成元组list1=[1,2,3]print(tuple(list1))# (1, 2, 3)print(type(tuple(list1)))# <class 'tuple'># 4. list() -- 将第一个序列转换成列表tu1=(1,2,3)print(list(tu1))# [1, 2, 3]print(type(list(tu1)))# <class 'list'># 5. eval() -- 将字符串中的数据转换成 Python 表达式原本类型str1='10'str2='1.1'str3='(1, 2, 3)'str4='[10, 20, 30]'print(type(eval(str1)))# <class 'int'>print(type(eval(str2)))# <class 'float'>print(type(eval(str3)))# <class 'tuple'>print(type(eval(str4)))# <class 'list'>三、输入与输出
3.1 格式化输出
所谓的格式化输出即按照⼀一定的格式输出内容。
3.1.1 格式化符号
| 格式符号 | 转换 |
|---|---|
| %s | 字符串 |
| %d | 有符号的十进制整数 |
| %f | 浮点数 |
| %c | 字符 |
| %u | 无符号十进制整数 |
| %o | 八进制整数 |
| %x | 十六进制整数(小写ox) |
| %X | 十六进制整数(大写OX) |
| %e | 科学计数法(小写’e’) |
| %E | 科学计数法(大写’E’) |
| %g | %f 和 %e 的简写 |
| %G | %f 和 %E 的简写 |
%06d:表示输出的整数显示位数,不足以0补全,超出当前位数则原样输出%.2f:表示小数点后显示的小数位数。- 格式化字符串除了
%s,还可以写为f'{表达式}'
3.1.2 格式化输出示例
age=18name='Kevin'weight=75.5student_id=1# 我的名字是Kevinprint('我的名字是%s'%name)# 我的学号是0001print('我的学号是%04d'%student_id)# 我的体重是75.50公斤print('我的体重是%.2f公斤'%weight)# 我的名字是Kevin,今年18岁了print('我的名字是%s,今年%d岁了'%(name,age))# 我的名字是Kevin,明年19岁了print('我的名字是%s,明年%d岁了'%(name,age+1))# 我的名字是Kevin,明年19岁了# f{表达式}print(f'我的名字是{name},明年{age+1}岁了')# %s 扩展print('我的名字是%s,今年%s岁了,体重是%s'%(name,age,weight))3.1.3 结束符
print()函数默认带有换行功能,是结束符 end 的作用。示例:print('输出的内容') 等价于 print('输出的内容', end='\n'),其中 end 可以自定义设置。
示例:
# 默认结束符是 \n,以下两种效果等同print('hello world',end='\n')print('hello world')print('-------------')# 可自定义设置print('hello',end='\t')print('world')print('hello',end='...')print('world')运行结果:
3.1 输入
输入的语法:input("提示信息")
注意:Python中,input() 接收的任何数据默认都是字符串数据类型。
示例:
age=input("请输入年龄")ifage>=18:print("可以上网")else:print("不可以上网")会报错结果如下:
对输入数据进行数据类型转换,修改代码如下:
age=int(input("请输入年龄:"))# 数据类型转换ifage>=18:print("可以上网")else:print("不可以上网")结果如下:
四、运算符
1. 算术运算符:+-*///(整除)%()**(指数,如:2**3 = 2*2*2)
注意:混合运算优先级顺序:()高于**高于*///%高于+-
2. 赋值运算符:=
- 单个变量赋值
- 多个变量赋值
num1, float1, str1 = 10, 0.5, 'hello world' - 多变量量赋相同值
a = b = 10
3. 复合赋值运算符:+= -= *= /= //= %= **=(幂赋值运算符,如:c**=a 等价于 c=c**a)
4. 比较运算符:== != > < >= <=
5. 逻辑运算符:and or not(非)
and、or 有短路效果
defprintFalse():print("333")returnFalse# 下面中后面的 printFalse()不会被执行,并且 print("111") 会执行ifTrueorprintFalse():print("111")# 后面的 printFalse()不会被执行,并且 print("222") 不会执行ifFalseandprintFalse():print("222")and、or 的扩展用法
and 运算符,只要有一个值为 0,则结果为 0,否则结果为最后一个非 0 数字
or 运算符,只有所有值为 0 结果才为 0,否则结果为第一个非 0 数字a=0b=1c=2# and运算符,只要有一个值为0,则结果为0,否则结果为最后一个非0数字print(aandb)# 0print(banda)# 0print(aandc)# 0print(canda)# 0print(bandc)# 2print(candb)# 1# or运算符,只有所有值为0结果才为0,否则结果为第一个非0数字print(aorb)# 1print(aorc)# 2print(borc)# 1
五、条件语句
5.1 条件语句语法
注意:除了三目运算符以外,if 条件成立执行的代码必须缩进
- if 语法:
if条件:条件成立执行的代码 - if…else…语法:
if条件:条件成立执行的代码else:条件不成立执行的代码 - 多重判断语法:
if条件1:条件1成立执行的代码elif条件2: 条件2成立执行的代码......else:以上条件都不成立执行执行的代码 - if 嵌套语法:
if条件1: 条件1成立执行的代码if条件2: 条件2成立执行的代码 - 三目运算符:
条件成立执行的表达式if条件else条件不成立执行的表达式
5.2 应用示例
猜拳游戏示例:
importrandom computer=random.randint(0,2)print(computer)player=int(input('请出拳:0-石头,1-剪刀,2-布:'))if(player==0andcomputer==1)or(player==1andcomputer==2)or(player==2andcomputer==0):print('玩家获胜')elifplayer==computer:print('平局')else:print('电脑获胜')其中:
- 导入 random 模块:
import 模块名 - 使用 random 模块中的随机整数功能:
random.randint(开始,结束)
三目运算符示例:
a=1b=2c=aifa>belsebprint(c)# 2aa=10bb=20cc=aa-bbifaa>bbelsebb-aaprint(cc)# 10六、循环语句
6.1 循环语句语法
注意:循环条件成立执行的代码必须缩进
while 语法:
while条件:条件成立重复执行的代码......while 循环嵌套语法:
while条件1:条件1成立执行的代码......while条件2:条件2成立执行的代码......for 语法:
for临时变量in序列:重复执行的代码for 循环嵌套语法略…
else 语法:循环可以和 else 配合使用,else 下方缩进的代码指的是当循环正常结束之后要执行的代码
- while…else
while条件:条件成立重复执行的代码else:循环正常结束之后要执行的代码 - for…else
for临时变量in序列:重复执行的代码...else:循环正常结束之后要执行的代码
- while…else
6.2 continue 与 break
- continue:退出当前一次循环继而执行下一次循环代码。
- break:跳出所有循环。
- 注意:当应用于
while...else 和 for...else时,continue 执行 else 中的代码, break 不执行 else 中代码,原因在于 break 时非正常结束。
6.3 应用示例
1 到 100 累加和
result=0i=1whilei<=100:result+=i i+=1print(result)# 50501 到 100 中的偶数累加和
# 法一:result=0i=1whilei<=100:ifi%2==0:result+=i i+=1print(result)# 2550# 法二:result=0i=0;whilei<=100:result+=i i+=2print(result)# 2550三角形
i=0whilei<5:j=0whilej<=i:print("*",end='')j+=1print()i+=19*9乘法表
i=1whilei<=9:j=1whilej<=i:print(f'{j}*{i}={i*j}',end="\t")j+=1print()i+=1continue 和 break 在 while…else 中应用
i=1whilei<=5:ifi==3:break# 不执行下方 结束循环print('循环')i+=1else:print('结束循环')print("--------------")i=1whilei<=5:ifi==3:i+=1continue# 执行下方 结束循环print('循环')i+=1else:print('结束循环')遍历列表
list1=['Kevin','Tom','Mark','Rose']foriinlist1:print(i)
6.4 range()
range(start, stop, step):生成从start到stop-1的整数,间隔step,默认间隔1
# 1个参数:range(结束值),从0开始foriinrange(3):print(i)# 0,1,2# 2个参数:range(起始,结束)foriinrange(1,4):print(i)# 1,2,3# 3个参数:range(起始,结束,步长)foriinrange(1,10,2):print(i)# 1,3,5,7,96.5 补充:字典的遍历
my_dict={'name':'Kevin','age':20}# 通过 for key in dict 可以获取字典中所有的键forkeyinmy_dict:print(key,":",my_dict[key])# name : Kevin# age : 20# 字典中 keys() 方法获取所有的 keykeys=my_dict.keys()forkeyinkeys:print(key)# name# age# 字典中 values() 方法获取所有的 valuevalues=my_dict.values()forvalueinvalues:print(value)# Kevin# 20# 字典中 items() 方法可以获取字典中的所有键值对items=my_dict.items()foriteminitems:print(item)# ('name', 'Kevin')# ('age', 20)forkey,valueinmy_dict.items():print(key,":",value)# name : Kevin# age : 20参考:https://blog.csdn.net/yaoyuanna/article/details/126009259