Python
Day1:基础语法
字面量
Python中常用有六种数据类型,分别是数字(分为整数,浮点数,布尔,复数)int float complex bool
字符串,列表,元组,集合,字典
字符串:String —>“”
注释
单行注释#开头
多行注释:以一对双引号 “”
变量
变量 = 数据
print("--",变量名)
数据类型
验证数据类型:type()
print(type(数据))# 输出数据类型
数据类型转换
int(x)# 将x转换成int型
float(x)
str(x)
此函数为具体值,可直接输出,也可赋予变量
注意,float转换int会丧失精度
字符串只有数字才能转换为整数
运算符
与java相同,+ - * /
**//取整余,%取余,***指数
字符串拓展
在Python中有三种定义字符串 ‘n’ “n” “”“n“”
三引号字符串和注释一样,区别在于有无变量接受
字符串中有引号可用\或单双引号
两个单独的字符串可用+进行拼接
字符串不能用+与整数或浮点数进行拼接
---------------------------------------------------------------------------------------------------------------------------------
%s进行占位,%为占位符,s为字符串类型。具体代码演示如下
class_num = 57
avg_salary = 16751
messsage = "%s %s"%(class_num,avg_salary)
%d为整数占位
%f为浮点数占位
字符串格式化精度控制
常用m.n控制精度
实例:
%5d:表示将整数的宽度控制在5位,如果数字11,被设置成5d,就会变成 空格 空格 空格11
%5.2f:表示将宽度控制在5,小数点精度设置为2
如果m比数字本身宽度还要小,m会不生效
快速格式化方式
语法:f“内容{变量}”
name = "刘宇晗"
print(f"我是{name}")
没有类型
无法做精度控制
字符串格式化
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wezIxqhH-1678543518678)(C:\Users\34844\AppData\Roaming\Typora\typora-user-images\image-20230310223927693.png)]
表达式格式化
无需用变量存储数据时,使用表达式格式化进行输出
数据输入
input语句输入,代码表示:
name = input()
print("我是:%s" % name)
input()语句可以直接在输入内容前输出提示内容的
input()括号中直接填入内容即可
获取到的数据永远是字符串类型
判断语句:bool 和 比较运算符
和java与CPP基本相同
判断语句:if函数
代码演示
age = 30
if age >= 18:
print("have been a adult")# 需缩进限定范围
print("haven't been a dault")#无缩进不受if函数控制
if else:
if 条件:
执行
else :
执行
if elif:
if 条件1:
语句--
elif 条件2:
语句2--
.........
类似switch case
while循环
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dgzNQG9Z-1678543518679)(C:\Users\34844\AppData\Roaming\Typora\typora-user-images\image-20230310220435522.png)]
i = 0
while i <50:
print(f"cnm",i)
i += 1
求1-100的和
i = 1
sum = 0
while i <=100:
sum += i
i += 1
print(sum)
猜数字小游戏
import random
i = random.randint(1, 100)
flag = True
while flag:
a = int(input("inset number"))
if a == i:
print("right")
flag = False
else:
if a < i:
print("smaller")
else:
print("right")
flag = False
原始字符串r/R
原始字符串 - 原始字符串:所有的字符串都是直接按照字面的意思来使用,没有转义特殊或不能打印的字符。 原始字符串除在字符串的第一个引号前加上字母 r(可以大小写)以外,与普通字符串有着几乎完全相同的语法。
通过负数索引值截取
list = ['Google', 'Runoob', "Zhihu", "Taobao", "Wiki"]
# 读取第二位
print("list[1]: ", list[1])
print ("list[1:-2]: ", list[1:-1])
删除列表元素
list = ['Google', 'Runoob', 1997, 2000]
print ("原始列表 : ", list)
del list[2]
print ("删除第三个元素 : ", list)
Python列表截取与拼接
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-iGVnBewU-1678543518679)(C:\Users\34844\AppData\Roaming\Typora\typora-user-images\image-20230311142603193.png)]
嵌套列表
>>>a = ['a', 'b', 'c']
>>> n = [1, 2, 3]
>>> x = [a, n]
>>> x
[['a', 'b', 'c'], [1, 2, 3]]
>>> x[0]
['a', 'b', 'c']
>>> x[0][1]
'b'
列表比较
列表比较需要引入 operator 模块的 eq 方法(详见:Python operator 模块):
列表比较需要引入 operator 模块的 eq 方法(详见:Python operator 模块):
# 导入 operator 模块
import operator
a = [1, 2]
b = [2, 3]
c = [2, 3]
print("operator.eq(a,b): ", operator.eq(a,b))
print("operator.eq(c,b): ", operator.eq(c,b))
元组
和列表相似,元组元素不能修改
>>> tup1 = ('Google', 'Runoob', 1997, 2000)
>>> tup2 = (1, 2, 3, 4, 5 )
>>> tup3 = "a", "b", "c", "d" # 不需要括号也可以
>>> type(tup3)
其余操作与数组一致
字典
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-G7ZZxQcN-1678543518679)(C:\Users\34844\AppData\Roaming\Typora\typora-user-images\image-20230311144328630.png)]
删除
tinydict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'}
del tinydict['Name'] # 删除键 'Name'
tinydict.clear() # 清空字典
del tinydict # 删除字典
print ("tinydict['Age']: ", tinydict['Age'])
print ("tinydict['School']: ", tinydict['School'])
修改
tinydict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'}
tinydict['Age'] = 8 # 更新 Age
tinydict['School'] = "菜鸟教程" # 添加信息
print ("tinydict['Age']: ", tinydict['Age'])
print ("tinydict['School']: ", tinydict['School'])
访问
tinydict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'}
print ("tinydict['Name']: ", tinydict['Name'])
print ("tinydict['Age']: ", tinydict['Age'])
集合
无序不重复的元素序列
>>> basket = {'apple', 'orange', 'apple', 'pear', 'orange', 'banana'}
>>> print(basket) # 这里演示的是去重功能
{'orange', 'banana', 'pear', 'apple'}
>>> 'orange' in basket # 快速判断元素是否在集合内
True
>>> 'crabgrass' in basket
False
>>> # 下面展示两个集合间的运算.
...
>>> a = set('abracadabra')
>>> b = set('alacazam')
>>> a
{'a', 'r', 'b', 'c', 'd'}
>>> a - b # 集合a中包含而集合b中不包含的元素
{'r', 'd', 'b'}
>>> a | b # 集合a或b中包含的所有元素
{'a', 'c', 'r', 'd', 'b', 'm', 'z', 'l'}
>>> a & b # 集合a和b中都包含了的元素
{'a', 'c'}
>>> a ^ b # 不同时包含于a和b的元素
{'r', 'd', 'b', 'm', 'z', 'l'}
c’, ‘d’}
a - b # 集合a中包含而集合b中不包含的元素
{‘r’, ‘d’, ‘b’}
a | b # 集合a或b中包含的所有元素
{‘a’, ‘c’, ‘r’, ‘d’, ‘b’, ‘m’, ‘z’, ‘l’}
a & b # 集合a和b中都包含了的元素
{‘a’, ‘c’}
a ^ b # 不同时包含于a和b的元素
{‘r’, ‘d’, ‘b’, ‘m’, ‘z’, ‘l’}