Python 03

注释语句

单行注释使用: #
多行注释使用(""""""或者''''''):
"""
这是多行注释,
这是多行注释,
这是多行注释。
"""

PEP8规范

官方PEP8规范

  1. 缩进:4个空格的缩进,不使用Tap,更不能混合使用Tap和空格
  2. 行长:每行最大长度79,换行可以使用反斜杠,最好使用圆括号
  3. 命名规范:变量名以小写字母开头,使用下划线分割多个单词;类名应以大写字母开头使用驼峰命名法
  4. 空格:在运算符两侧、逗号后以及冒号后应添加空格
  5. 注释:注释应该清晰、简洁,使用英文书写。注释应说明代码的作用,而不是如何实现
  6. 函数和类:函数和类之间应该使用两个空行分割
  7. 导入:每个导入应该单独成行、避免使用通配符导入、避免一次性导入多个模块
  8. 括号:在函数的调用和定义中,括号内部应该没有空格
  9. 还包括代码布局、字符串引号、空行、文件编码等规范...

变量

变量命名规范:

  1. 数字、字母、下划线组合,不允许出现除了下划线以外的符号,不允许数字开头
  2. 区分大小写
  3. 不能使用关键字或内置函数名(例如if、else、while等有代码逻辑的字符)
  4. 变量名应该有描述性,可读性高,清晰、简洁、有意义
  5. 多个单词命名时,使用下划线拼接或者小驼峰写法,例如:user_name或userName

基本数据类型

整型和浮点型(type( )为判断类型的内置函数)

整型(int)

num = 10
print(type(num))
# 输出 <class 'int'>

浮点型(float)

floatNum = 3.14
print(type(floatNum))
# 输出 <class 'float'>

布尔类型(True、False,大写字母开头)

用于表示真和假两种状态,Python中布尔类型值为True和False(bool)

x = 10
y = 20
print(x > y)
print(x < y)
# 输出 True False

获取布尔值的类型名

boolType = True
print(type(boolType))
# 输出 <class 'bool'>

bool内置函数

# 所有数据都有自己的bool值(布尔状态)
print(bool(2))  # 输出True
print(bool(0))  # 输出False

零值:所有的数据类型中都有且只有一个值的bool状态是false,该值称为此类型的零值

1. 整型和浮点型的零值是数字0:print(bool(0)) # 输出False
2. 字符串的零值是空字符串:print(bool("")) # 输出False
3. 列表的零值是空列表:print(bool([])) # 输出False
4. 字典的零值是空字典:print(bool({})) # 输出False

字符串类型

  1. 用于表示文本数据、数据存储、传输字节;
  2. 使用英文的单引号''或者双引号""包裹;
  3. 字符串内的字符可以是数字、字母、符号等任意内容。
    注意:如果把三重引号的字符串赋值给了变量,则这个就不再是多行注释了!!!!
strText = """
    这里作为字符串使用了,
    不再是多行注释,
    因为该内容被赋值给了strText变量
"""

字符串转义符(以下前提是在字符串内使用)

\  : 转义符 # 将某些普通符号特殊化、也可以将特殊符号普通化
\\ : 反斜杠 # 输出\
\" : 双引号 # 输出"
\' : 单引号 # 输出'
\n : 换行符 # 换行
\t : 制表符
\r : 回车符

字符串格式化输出(方式一)

name = '张三'
age = 18
height = 170
# %s给一个字符串占位,%d给一个十进制的数字占位
# %(name,age,height)代表传入的动态变量,依次放到占位的区域
print("我的名字是%s,年龄%d,身高%dcm"%(name,age,height))
# 输出:我的名字是张三,年龄18,身高170cm

字符串格式化输出(方式二,3.6版本才有的方法)

name = '张三'
age = 18
height = 170
# 首先在字符串前写入f标识,f代表格式化的意思(format)
# 变量放在{}内即可
print(f"我的名字是{name},年龄{age},身高{height}cm")
# 输出:我的名字是张三,年龄18,身高170cm

字符串序列操作(索引操作)

  • 正索引从0开始且正方向查询,负索引从-1且反方向开始查询
st = "This is a string type text"
print(st[0]) # 输出T,[0]代表获取st索引或者下标为0的数据

字符串序列操作(切片操作)-(取头不取尾)

  • 语法:字符串[开始索引 : 结束索引 : step = 1],step = 1代表不间隔,按顺序依次取
  • 第三个参数step默认是1,表示字符串切片顺序默认是从左往右切,step代表间隔多少个字符来切(需要减去个1来计算间隔数)
st = "This is a string type text"
# st[0:3]:从索引为0的位置开始切,到索引为3的位置结束(注意,结束位置的数据不会被使用)
print(st[0:3]) # 输出的是Thi
  • 缺省状态(只设置起始位置,不设置结束位置)
# st[22:]:只设置开始索引,不设置结束索引,则会从开始取到最后一位
print(st[22:]) # 输出text
  • 缺省状态(只设置结束位置,不设置起始位置)
# st[:4]:只设置结束索引,不设置开始索引,则会从0开始取到结束索引的位置(不包含结束索引)
print(st[:4]) # 输出This

step = 2的切片数据

st = "测试step为2的切片"
print(st[0:6:2]) # 输出:测se
# 从0开始切到6,正常应该输出【测试step】,但是设置了step为2,则会隔一个取一个,所以测、s、e会被保存

step = -1的切片数据(负数首先代表方向一定是从右往左开始切)

  • 此时的索引也要变为从右往左计算,否则会切片失败
st = "测试step为-1的切片"
print(st[0:6:-1]) # 输出:空
print(st[6:0:-1]) # 输出:为pets试(倒着切)为es
print(st[6:0:-2])# 输出:为es(-2意味着间隔一个切)
print(st[::-1]) # 片切的1-为pets试测(小技巧:反转字符串)

注意:
1. 字符串切片永远是取头不取尾(索引开始位的数据保留,索引结束位的数据不保留)
2. 字符串切片开始索引和结束索引的位置一定要和step的方向一致,step为正数则从左向右切
3. step为负数则从右向左切,开始索引和结束索引也要从右往左写,输出的切片是倒序的
4. step的值代表截取时取值间隔(正数时要减去1计算间隔量,负数时要加1计算间隔量)

字符串拼接

s1 = "hello"
s2 = "world"
print(s1 + s2) # 输出:helloworld

计算字符串对象的长度(内置函数 len)

s1 = "hello"
print(len(s1)) # 输出5

判断某个成员是否存在(in)

s3 = "zhangshan lisi wanger"
# 判断连续的字符lisi在s3字符串里面存不存在,存在返回True,否则返回Flase
print("lisi" in s3) # 输出True

输入输出函数

输入函数 input()

input()函数用于从标准输入(键盘)读取一个用户输入的字符串,将其返回
即使输入的是数字,也会被读取为字符串!!!
可以通过可选的提示字符串来提示用户输入

name = input('请输入用户名:')
print("你好," + name + "!")
num1 = input('num1:')
num2 = input('num2:')
print(num1 + num2) # 输出的是数字字符串的拼接,而不是数字类型的相加!!!

# 处理数字字符串,让输入的数字可以正常使用数字类型(字符串内必须是纯数字)
print(int(num1) + int(num2)) # 输出 数字的和

输出函数 print()

# 打印函数,可以直接打印值,也可以打印变量,也可以使用, 分割打印多个值
# print有很多参数,打印多个的时候,默认使用空格分割,可以修改sep来指定分隔符
print(1,2,sep=",")

字符串的内置方法

方法 作用 示例 输出
upper() 全部大写 "Test".upper() "TEST"
lower() 全部小写 "Test".lower() "test"
startswith() 是否以某个字符开头 "Test".startswith('T') True
endsWith() 是否以某个字符结尾 "Test".endsWith('t') True
isdigit() 是否全数字 "123456".isdigit() True
strip() 去除两边空格 " Test ".strip() "Test"
join() 将多个字符串拼接在一起 ','.join(['北京', '上海', '深圳']) "北京,上海,深圳"
split() 按某字符分割字符串,默认按空格分割 "北京-上海-深圳".split('-') ['北京', '上海', '深圳']
find() 搜索指定字符串,没有返回-1,找到的话返回当前字符所在的下标索引 "hello".find('el') 1
index() 查询指定字符串,找到的话返回当前字符所在的下标索引,找不到会报错 "hello".index('el') 1
count() 统计指定的字符出现的次数 "hello".count('l') 2
replace() 旧字符替换为新字符,第一个参数是旧的,第二个参数是新数据 "hello,world".replace('world','python') "hello,python"

运算符

加减运算符

比较运算符

赋值运算符

逻辑运算符

成员运算符

posted @ 2024-04-17 16:59  骑着乌龟去旅游·  阅读(18)  评论(0)    收藏  举报