一、Python语法特点
- 注释
-
单行注释:#开头,注释快捷键
ctrl+/
# 注释
-
多行注释:’’‘注释’’'或""“注释”""
''' 第一种多行注释 ''' """ 第二种多行注释 """
-
缩进:必须为四个空格,可以用
tab
键if 1: print('hello world!')
二、保留字和标识符
-
Python
不区分保留字和关键字# 输出所有保留字 import keyword print(keyword.kwlist)
-
标识符
- 定义:有特殊要求的字符串,标识符一定是字符串,但字符串不一定是标识符
- 组成:以字母、数字、下划线组成,必须以字母或者下划线开头,并且不能是关键字或保留字
- 作用:给变量、常量、函数、类等起名字用的
- 注意:Python中的下划线有特殊含义
三、常量和变量
- 常量
-
值在程序运行过程中不发生改变
-
Python
中常量一般用大写表示# 代码需要使用英文输入法 PI = 3.1415926
- 变量
-
不用事先声明变量名和类型,直接赋值则默认创建:变量名 = 值
-
变量名要有意义
# 数字变量 age = 18 # 字符串 des = 'hello word!' # 使用变量 print(age, des)
-
格式化输出
age = 18 print('age = %d' % age) age = 18 des = 'sunck is a good man' print('sunck is a %s man ,he is %d years old' % ('nice', age))
四、基本数据类型
-
数字类型
# 整数 num1 = 1 num2 = 2 num3 = 3 # 不建议使用以下定义 num4, num5, num6 = 4, 5, 6 print(num1, num2, num3) print(num4, num5, num6) # 占两位,右对齐 print('%2d' % 9) # 占两位,左对齐 print('%-2d' % 9) # 占两位,右对齐,自动补0 print('%.2d' % 9) # 浮点数 num7 = 1.1 num8 = 2.2 print(num7 + num8) # 保留两位小数 print('num7 + num8 = %.2f' % (num7 + num8))
-
字符串(
Python
没有字符的概念,因此不区分单引号和双引号)# 注意字符串本身是无法改变的 str1 = 'sunck is a good man' str2 = "sunck is a good man" str3 = '''sunck is a good man'''
-
转义字符
str7 = 'sunck is a good man! \\nsap' str8 = 'sunck is a \'good\' man' print(str8)
-
字符串索引
# 获取字符串元素 str1 = 'sunck is a good man' print(str1[1]) # 切片,包含开始,不包含结束 print(str1[3:6]) # 倒着数下标 print(str1[-1])
-
字符串常用方法
insex()
和find()
方法的区别:如果查找结果没有,用index
会报错,find
会返回-1
# 将字符串转为大写 str1 = 'sunck is a good man' str2 = str1.upper() print(str1, str2) # 将字符串转为小写 str1 = 'sunCk is a goOd maN' str2 = str1.lower() print(str1, str2) # 将字符串首字母大写,其他小写 str1 = 'sunCk is a goOd maN' str2 = str1.capitalize() print(str1, str2) # 将字符串每个单词首字母大写 str1 = 'sunCk is a goOd maN' str2 = str1.title() print(str1, str2) # 输出字符串长度 print(len(str1)) # 去掉字符串前后字符,默认为空白 str3 = ' sunck is a good man ' print(str3) print(str3.strip()) # 去掉字符串前后指定字符 str3 = '###sunck is a good man###' print(str3) print(str3.strip('#')) # 字符串替换,默认全部替换,可根据需求规定替换次数 str4 = 'sunck is a good good man' print(str4) print(str4.replace('good', 'nice', 1)) # 从左至右获取第一次出现的字符串的下标 str5 = 'sunck is a good man' print(str5.find('good')) print(str5.rfind('good')) print(str5.index('good')) print(str5.rindex('good')) # 字符串切割,默认以空白切割,自动省略左右空白 str6 = 'sunck is a good man' print(str6.split()) # 字符串切割,以指定字符切割 str6 = 'sunck#is#a#good man' print(str6.split('#')) # 以指定字符串进行组合 li = ['sunck', ' is', ' a', ' good', ' man'] print(''.join(li))
-
-
bool
类型bool
就两个值,即True
和False
,注意:不要把True
和False
当作1
和0
来用 -
类型转换
# type,查看类型 num1 = 1 num2 = 1.1 print(type(num2)) # 整数 --> 浮点 num = 1 f = float(num) print(type(f), f, type(num), num) # 整数 --> 字符串 num = 123 s = str(num) print(type(s), s, type(num), num) # 整数 --> 布尔 num = 123 b = bool(num) print(type(b), b, type(num), num) # 字符串 --> 整数,注意:使用int()当字符串中间存在非数字字符会转换失败报错,加减号在开头做一元运算符不会报错 print(eval('12+4')) # print(int('12+4')) 报错 # 字符串 --> 浮点 # 字符串 --> 布尔 # 浮点 --> 整数 # 浮点 --> 字符串 # 浮点 --> 布尔 # 布尔 --> 整数 不建议用 # 布尔 --> 浮点 不建议用 # 布尔 --> 字符串
五、运算符
- 算数运算符
- 比较运算符
- 逻辑运算符
# 除运算
print(5 / 2)
# 取整数
print(5 // 2)
# 模运算,取余数
print(5 % 2)
# 左移右移运算
print(1 << 2)
print(1 >> 2)
# 复合运算符 a += b 即 a = a + b,其他同理
a = 1
b = 2
a += b
print(a)
# 比较运算符
print(a > b)
print(a < b)
print(a == b)
print(a != b)
# 逻辑运算符 与and、或or、非not
'''
表达式1 and 表达式2
值:
表达式1为真,表达式2为真,逻辑与运算表达式的值为真
表达式1为真,表达式2为假,逻辑与运算表达式的值为假
表达式1为假,表达式2为真,逻辑与运算表达式的值为假
表达式1为假,表达式2为假,逻辑与运算表达式的值为假
'''
print(1 and 2)
print(0 and 2)
'''
表达式1 or 表达式2
值:
表达式1为真,表达式2为真,逻辑或运算表达式的值为真
表达式1为真,表达式2为假,逻辑或运算表达式的值为真
表达式1为假,表达式2为真,逻辑或运算表达式的值为真
表达式1为假,表达式2为假,逻辑或运算表达式的值为假
'''
print(1 or 2)
print(0 or 2)
'''
not 表达式
值:
表达式为真,逻辑非运算表达式的值为假
表达式为假,逻辑非运算表达式的值为真
'''
print(not 1)
print(not 0)