目录
一、python的注释
- 单行注释
#这是单行注释
- 多行注释
'''
这是
多行
注释
三个单引号
'''
"""
三个
双引号
括起来
也是多行注释
"""
二、变量
1.python是弱类型语言
变量无需声明即可直接赋值,对一个不存在的变量赋值就相当于定义了一个新变量
变量的数据类型可以动态改变,同一个变量可以一会被赋值为整数值,一会被赋值为字符串
#定义一个数值类型变量
a = 5
print(a)
#查看 a 的类型
print(type(a))
#将字符串赋值给 a
a = '我现在是字符串'
print(a)
print(type(a))
运行结果:
2.print 函数
print 函数详细语法格式:
print(value,...,sep=' ',end='\n',file=sys.stdout,flush=False)
- sep 参数:输出多个值时的分隔符
- end 参数:输出语句的结尾,end='\n'时换行,相当于 java 的 println
- file 参数:file 参数默认值是sys.stdout,该默认值意为系统标准输出,即输出至屏幕,也可以改变此参数,让 print() 函数输出到指定文件中。
a = '我现在是字符串'
b = '我也是字符串'
print(a,b,sep=' ',end='\n')
print(a,b,sep='|',end='end结尾')
f = open("hello.text","w") #打开文件以便写入
print('Hello Python!',file=f)
f.close()
运行结果:
3.变量的命名规则
- 必须以字母、下划线开头,后面可以跟任意数目的字母、数字和下划线,并且字母并不局限于26个英文字母,也可以包含中文、日文字符等。
- Python语言是区分大小写的
- 标识符不能是 python 关键字,但可以包含关键字
- 标识符不能包含空格
- 如果开发者使用内置函数的名字作为变量名,python 解释器不会报错,但该内置函数会被这个变量覆盖而无法使用
Python 关键字:
import keyword
print("pythom关键字:")
print(keyword.kwlist)
三、数值类型
1.整形
- 表示形式:
十进制形式:最普通的整数就是十进制形式的整数
二进制形式:以 0b 或 0B 开头的整数就是二进制形式的整数
八进制形式:以 0o 或 0O 开头的整数就是八进制形式的整数
十六进制形式:以 0x 或 0X 开头的整数就是十六进制形式的整数,其中 10~15 分别以 a~f 来表示
- 空值:
python 的整形数值支持 None 值(空值)
a = None
print(a)
print(type(a))
输出结果为
为了提高数值(包括浮点型)的可读性,python3 允许为数值(包括浮点型)增加下划线作为分隔符,这些下划线并不会影响数值本身。
a = 1_000_000
print(a)
print(type(a))
输出结果为:
2.浮点型
- 十进制形式
这种形式就是平常的浮点数,例如1.23、435.345、0.521。浮点数必须包含一个小数点,否则被当做整数看待。
a = 1.000000
b = 2.
print("a=",a)
print("a.type=",type(a))
print("b=",b)
print("b.type=",type(b))
输出结果为:
- 科学计数形式
例如 1.23e4 (即1.23X10^4),只有浮点型数值才可以使用科学计数法表示,例如 12300 是一个整型值,123E2 是一个浮点型数值。
3.复数
如果需要在程序中对复数进行计算,可导入 python 的 cmath 模块,在该模块下包含了对复数的各种计算函数。
四、字符串
1.字符串
字符串的内容几乎可以包含任何字符,即可用单引号括起来,也可以用双引号括起来,没有任何区别。
a = "你好"
b = 'CSDN'
print("a.type=",type(a))
print("b.type=",type(b))
2,转义字符
如果字符串的本身包含了单引号或者双引号,此时就需要进行特殊处理。
第一种方法是使用不同的引号括起来,比如字符串中有单引号,那么就用双引号括起这个字符串。
第二种方法就是对引号进行转义,使用反斜线(\)将字符串中的特殊字符进行转义,例如:
a = "你好'CSDN'你好"
b = "你好\'CSDN\'"
print(a)
print(b)
3.拼接字符串
如果直接将两个字符串紧挨着写在一起,python 就会自动拼接他们,亦可以使用加号(+)来拼接字符串
a = "你好" 'csdn'
b = "你好"
c = "csdn"
print(a)
print(b+c)
4.repr 和字符串
有时候我们需要将字符串与数值进行拼接,而 Python 不允许直接拼接数值和字符串,程序必须先将数值转换成字符串。
我们可以使用 repr() 或 str() 函数
a = "csdn"
b = 20
c = "周年"
print(a+str(b)+repr(c))
由上可以看出 repr() 函数会以 python 表达式的形式来表示值
5.input
input()函数用于向用户生成一条提示,然后获取用户输入的内容,无论输入哪种内容 input() 函数总是返回字符串
6.长字符串
使用三个引号定义长字符串,该字符串中即可有单引号,也可包含双引号。
a = '''
"你好"\
'你好'
'''
print(a)
b = '''
"你好"
'你好'
'''
print(b)
7.原始字符串
原始字符串以 “r” 开头,原始字符串不会把反斜线当成特殊字符,如果原始字符串中包含引号,程序同样需要对引号进行转义,但此时用于转义的反斜线会变成字符串的一部分。
a = r'D:\VSWorkSpace\python3.0'
print(a)
b = r'"Let\'s go",baby'
print(b)
8.bytes
字符串(str)由多个字符组成,以字符为单位进行操作;字节串(bytes)由多个字节组成,以字节为单位进行操作。由于 bytes 保存的就是原始的字节(二进制格式)数据,因此 bytes 对象可以用于在网络上传输数据,也可以用于存储各种二进制格式的文件,比如图片、音乐等文件。
#创建一个空的 bytes
b1 = bytes()
#创建一个空的 bytes 值
b2 = b''
#通过 b 前缀指定 hello 是 bytes 类型的值
b3 = b'hello'
print(b3)
print(b3[0])
print(b3[2:4])
#调用 bytes 方法将字符串转换成 bytes 对象
b4 = bytes('我爱python编程',encoding='utf-8')
print(b4)
#利用字符串的 encode() 方法编码成bytes,默认使用 UTF-8 字符集
b5 = "学习python很有趣".encode('utf-8')
print(b5)
五、字符串相关方法
1.字符串格式化
name = "wsy"
age = 23
print("%s is a %s years girl" % (name,age))
上面的 print 函数中包含三个部分,第一部分是格式化字符串(相当于字符串魔板),该格式化字符串中包含一个“%s”占位符,它会被第三部分的变量或者表达式的值代替;第二部分固定用“%”作为分隔符。
2.序列相关方法
s = 'www.csdn.net'
#获取 s 中索引 2 的字符
print(s[2]) #输出 w
#获取 s 中从右边开始,索引 4 的字符
print(s[-4]) #输出 .
#获取 s 中从索引 3 到索引 5 (不包含)的字串
print(s[3:5]) #输出 .c
#获取 s 中从索引 3 到 倒数第 5 个字符的字串
print(s[3:-5]) #输出 .csd
#获取 s 中从索引 5 到结束的字串
print(s[5: ]) #输出 sdn.net
#获取 s 中从倒数第 6 个字符到结束的字串
print(s[-6: ]) #输出 dn.net
#判断 s 是否包含 ‘csdn’ 字串
print('csdn' in s) # True
#输出 ‘test’ 的长度
print(len('test')) # 4
#输出 s 字符串中的最大字符
print(max(s)) # w
#输出 s 字符串中的最大字符
print(min(s)) # .
3.大小写相关方法
- title(): 将每个单词的首字母改成大写
- lower():将整个字符串改为小写
- upper():将整个字符串改为大写
4.删除空白
- strip():删除字符串前后的空白
- lstrip():删除字符串前面(左面)的空白
- rstrip():删除字符串后边(右边)的空白
也可以删除字符串前后指定字符
#删除左边的 w、c、m、t 字符
print(s.lstrip('wcmt')) # .csdn.net
#删除右边的 w、c、m 、t字符
print(s.rstrip('wcmt')) # www.csdn.ne
#删除两边的 w、c、m 、t字符
print(s.strip('wcmt')) # .csdn.ne
5.查找、替换相关方法
- startswith():判断字符串是否以指定字串开头
- endswith():判断字符串是否以指定字串结尾
- find():查找指定字串在字符串中出现的位置,如果没有找到指定字串,则返回 -1
- indes():查找指定字串在字符串中出现的位置,如果没有找到指定字串,则引发 ValueErroe 错误
- replace():使用指定字串替换字符串中的目标子串
- translate():使用指定的翻译映射表对字符串执行替换
6.分割、连接方法
- split():将字符串按指定分隔符分割成多个短语
- join():将多个短语连接成字符串
五、运算符
1.赋值运算符 “=”
s = "python"
num = 100
a = b = c = 10.2
d = a + 5
2.算数运算符
- +:加法运算符
a = 1
d = a + 5
s1 = "Hello"
s2 = "World"
print(s1+s2)
- -:减法运算符
c = -5
b = -c
sub = c-b
- *:乘:法运算符
e = 1.2
f = 3.4
multiply = e * f
print(multiply)
s3 = 'csdn'
print(s3*5)
- / 和 // :除法运算符。“/”表示普通除法,除不尽时会产生小数;而“//”表示整除,小数部分会被舍弃
g = 4.2
f = 2.0
h = 3
print("g/f:",g/f)
print("g//f:",g//f)
print("g/h:",g/h)
print("g//h:",g//h)
- %:求余运算符
3.位运算符
- & 按位与
- | 按位或
- ^ 按位异或
- ~ 按位取反
- << 左移运算符
- >> 右移运算符
4.索引运算符
索引运算符即方括号"[ ]",见上述字符串索引方法
5.比较运算符与 bool 类型
- is:判断两个变量所引用的对象是否相同,如果相同则返回 True。
- is not:判断两个变量所引用的对象是否不相同,如果不相同则返回 True。
print("1 和 True 是否相等:",1==True)
print("True + False",True+False)
import time
a = time.gmtime()
b = time.gmtime()
print(a == b) # a 和 b 两个时间相等,输出 True
print(a is b) # a 和 b 不是同一个对象,输出 False
6.逻辑运算符
- and:与,前后两个操作数必须都是 True 才返回 True;否则返回 False
- or:或,只要两个操作数中有一个是 True, 就可以返回 True;否则返回 False
- not:非,只需要一个操作数,如果操作数为 True,则返回 False;如果操作数为 False,则返回 True
7.三目运算符
作为三目运算符的 if 语句的语法格式如下:
True_statement if expression else False_statement
先对逻辑表达式 expression 求值,如果逻辑表达式返回 True,则执行并返回 True——statement的值;如果逻辑表达式返回 False,则执行并返回 False_statement 的值。
8.in运算符
用于判断某个成员是否位于序列中