目录
注释
单行:#
多行:’’’ 注释内容 ’’’ 或 “””注释内容”””
变量
Python为动态语言,不需要声明类型。
name = "Tom"
age = 18
typy()方法:返回传入参数数据类型。
输入和输出
普通输出
print(“hello,python”)
格式化输出
格式化3种操作
- %操作符
- format()函数
- f-Strings
%操作符(占位符)
name = "Tom"
age = 18;
print("我的名字是:%s"%name) #%s字符串
print("我的年龄是:%d"%age) #%d有符号十进制整数
print("我的爱好是%s"%"写代码")
print("我的名字是:%s,我的年龄是:%d"%(name,age))
输出结果:
我的名字是:Tom
我的年龄是:18
我的爱好是写代码
我的名字是:Tom,我的年龄是:18
常见的占位符
format()函数
name = "Tom"
age = 18;
print("我的名字是:{}".format(name))
print("我的年龄是:{}".format(age))
print("我的爱好是:{}".format("写代码"))
输出结果:
我的名字是:Tom
我的年龄是:18
我的爱好是:写代码
顺序填充
name = "Tom"
age = 18;
print("我的名字是:{},我的年龄是:{}".format(name,age))
索引填充
name1 = "Tom"
name2 = "Jerry"
age = 18;
print("我的大名是:{0},我的小名是:{1},我的年龄是:{2}".format(name1,name2,age))
输出结果:
我的大名是:Tom,我的小名是:Jerry,我的年龄是:18
关键字填充(无顺序问题)
print("我的名字是{name},我的年龄是{age}".format(name = "Jerry",age = 18))
通过字典设置参数 ** 符号用于展开集合
info = {"name":"Tom","age":"18"}
print("姓名是:{name},年龄是{age}".format(**info))
输出结果:
姓名是:Tom,年龄是18
通过列表设置参数
list = ["Tom","Jerry",18]
print("大名是{0[0]},小名是{0[1]},年龄是{0[2]},爱好是:{1}".format(list,"打代码"))
输出结果:
大名是Tom,小名是Jerry,年龄是18,爱好是:打代码
对数值的格式化-设置数值小数点位数
pi = math.pi
print("圆周率保留两位小数:{:.2f}".format(pi)) #输出:3.14
格式化为千分位格式
salary = 123456789
print("工资为:{:,}".format(salary)) #输出为:工资为:123,456,789
格式化为百分数
print("百分比为:{:.0%}".format(0.25)) #输出为:百分比为:25%
.0 :保留的小数位数
% :转为百分数
f-strings 格式化方式
#在需要格式化字符串前加一个字符 "f"
name = "Tom"
print(f"姓名:{name},年龄{18}") #输出为:姓名:Tom,年龄18
切片 输出
将内容截断出某个区间,将其输出。
s = "abcdefg" #截取的区间为左闭右开
print(s[2:4]) #cd
print(s[:2]) #ab
print(s[2:]) #cdefg
print(s[:]) #abcdefg
print(s[7:10]) #输出为 ""(空)
切片后输出为某格式
str1 = "hello,python"
print("{:$<20}".format(str1))#左对齐
print("{:$>20}".format(str1))#右对齐
print("{:$^20}".format(str1))#居中对齐
输出为:
hello,python$$$$$$$$
$$$$$$$$hello,python
$$$$hello,python$$$$
字符串连接
指定连接符
print("我","是","码","农")
print("我","是","码","农",sep="$")
输出:
我 是 码 农
我$是$码$农
控制字符串末尾
print("hello",end="$$")
print("hello",end="\n") #换行
print("hello",end="\t") #缩进
print("aa")
输出:
hello$$hello
hello aa
输入input()
name = input("请输入姓名:")
print(name)
控制台:
请输入姓名:Tom
Tom
- input()的参数存放的是“提示信息”
- 获返回的值得类型为string类型
数据类型
基本数据类型
- 整型
- 浮点型
- 布尔型
- 复数类型
进制转换方法
转为二进制(binary),八进制(octonary),十六进制(hexadecimal)
print(bin(20)) #二进制 0b10100
print(oct(20)) #八进制 0o24
print(hex(20)) #十六进制 0x14
科学计数法表示
num = 6.6e2 #10的2次方
num1 = 6.6e-2 #10的-2次方
print(num) # 660.0
print(num1) # 0.066
运算符
幂运算
num = 10**2 #2的10次方
print(num) #100
整除//
“向下取整”
a = 5 / 2
b = 5 // 2
c = 5 / -2
d = 5 // -2
print(a) #2.5
print(b) #2
print(c) #-2.5
print(d) #-3 #//整除结果输出为 "向下取整"
divmod()方法–同时获得商和余数
a,b =divmod(5,2)
print(a) #2
print(b) #1
逻辑运算符和成员运算符
逻辑运算符:and (与)or(或)not(非)
成员运算符:in(存在)notin(不存在)
逻辑运算符优先级:no–>and–>or
str = "my name is Tom"
print("Tom" in str ) #ture
print("Jerry" in str ) #false
身份运算符
is:判断两个标识符是不是引用自同一个对象。
is not :判断两个标识符是不是引用自不同对象。
id(x)方法:获取对象内存地址。
Python整型数缓存问题
整型数缓存:不同环境对整型的缓存范围。
Python的整型数缓存规则在不同环境下,各有不同。例如:
在Pycharm中
a = 257
b = 257
print(id(a)) #2806792905488
print(id(b)) #2806792905488
print(a == b) #true :表示值相同
print(a is b) #true : 表示指向同一地址
在IDLE中 (交互模式下)
缓存范围
IDLE整型缓存范围:[-5,256]
PyCharm中范围:[-∞,+∞]
我们会发现:
针对于上方的id( )方法,在IDLE中,只有在一定数字范围下才进行缓存,也就是说,如果a = 100 , b = 100 , 100处于范围内,则 a is b 为真,如果 a = 257 , b = 257,257并不在当前环境的范围内[-5,256],则返回为false。
但是在PyCharm中则没有范围限制,都可以缓存。则对于上述案例的话,c is d输出为true。
流程控制
Python缩进说明
缩进必要: 1tab or 4空格
环境不同 1个tab有可能等于的空格数不一样
官方建议:缩进一次4个空格
必要的缩进:
因为Python不像Java这样语言,语句结束有;(分号),用来表示语句的结束,
而Python则用缩进来表示一个代码块的作用域,缩进结束则表示语句结束。
python用缩进来表达程序的范围:
例如:
if 表达式 :# :(冒号)表示程序的开始
程序体
print() #新的程序开始
Pycharm设置tab等于的空格数方式:
条件判断语句
单分支
weather = ""
if weather == "阴天":
print("出去玩")
双分支
weather = ""
if weather == "阴天":
print("出去玩")
else:
print("在家打代码")
多分支
weather = ""
if weather == "阴天":
print("出去玩")
elif weather == "下雨":
print("在家睡觉")
else:
print("在家打代码")
if嵌套
if weather == "阴天":
if money > 2:
print("出去玩")
else:
print("敲代码赚钱")
elif weather == "下雨":
print("在家睡觉")
else:
print("在家打代码")
循环控制语句
for in循环
for i in range(5): #相当于range(0,5)
print(i) # 0 1 2 3 4
内置对象range():返回一个可迭代对象
range(start,stop,[step])
step:步长,默认为1。例如range(0,5,2) 可取到0,2,4
range区间:左闭右开,例如range(0,5)可取到0,1,2,3,4
字符串作为迭代对象
str = "Python"
for i in str:
print(i) # P y t h o n
循环过程:取迭代对象”str”的一个字符,赋予i,操作i,在取值……………
内置对象还可以是:
元组 a = (10,20,30)
列表 a = [10,20,30]
遍历内置对象元素
arr = [10,20,30,50]
for i in range(len(arr)): #len(x)输出x长度
print(arr[i]) #10 20 30 50
while循环
无限循环写法
while True:
control = input("请输出操作:o:开灯 c:关灯")
print("正在操作...")
输出:
请输出操作:o:开灯 c:关灯o
正在操作...
请输出操作:o:开灯 c:关灯c
正在操作...
请输出操作:o:开灯 c:关灯
....
常规语法:
i = 0; #初始化变量
while i < 5: #循环条件
print(i) #循环体
i = i + 1 #迭代条件
输出: 0 1 2 3 4
关键字:break,continue,pass
break:跳出(结束)当个for循环或者while循环。
continue:跳出(结束)当次循环。
pass:空语句,一般用作占位语句,不做任何事情。
break处理死循环
while True:
control = input("你想要要做些什么? o:开灯 c:关灯 e 退出程序")
if control == "o" or control =="c"or control =="O"or control =="C":
print("正在操作...")
elif control == "e":
print("Bye")
break #此表示退出循环
else:
print("不能识别的输入")
continue的使用
for i in range(5):
if(i == 3):
continue
print(i) # 0 1 2 4
#i=3 结束当次循环,继续下一次循环
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/154582.html