1、python面向对象,简洁。
2、安装python解释器,目前一般都是Cpython.python进入,quit()退出。
3、python区分大小学
4、注释:
行注释:#
段注释:’’’
5、\行连接符
6、对象
对象由标识、类型、值组成。
对象的本质就是:一个内存块,拥有特定的值,支持特定类型的相关操作。
a = 3 id(3):地址 type(3):类型 值:3
7、标识符
(1)区分大小写
(2)每个字符必须是字母、下划线开头,由字母、数字、下划线组成。
(3)不能使用关键字。
(4)避免双下划线开头和结尾,eg:int
标识符命名规则:
(1)模块和包名:全字母小写。多个单词下划线。math、os、sys
(2)函数名:全小写,多个字母下划线隔开。Phone、my_name
(3)类名:首字母大学,多个单词第一字母大写。MyPhone、MyClass、Phone
(4)常量名:全大写,多个单词下划线。SPEED、MAX_SPEED
8、链式赋值
x=y=123
9、系列解包赋值
a,b,c = 4,5,6
变量交换:a,b = 1,2 a,b = b,a
10、python基本内置函数
整型、浮点型、布尔型、字符串型
/ 浮点数除法 8/2 = 4.0
// 整数除法 7//2 = 3
% 摸(取余)
** 幂
divmod()函数同时得到商和余数。
divmod(13,3) = (3,1)
11、进制
二进制:0b或0B 0b101=5
八进制:0o或0O 0o14=12
十六进制:0x或0X 0x23=35
12、int()类型转换
int(3.1415) = 3
int(ture) = 1 int(false) = 0
13、自动转型,整数和浮点,自动转浮点
14、整数:-263——2^63-1
15、浮点数
3.14 : 314e-2或314E-2
float(3) = 3.0
16、round()四舍五入 round(3.14) = 3
17、增强型赋值运算 +=、-=、*=、/=、//=、**=、%=
a += 1 a=a+1
18、时间表示:1970年1月1日00:00:00进行计算
time.time() 得到当前时间秒数。
19、math.sqrt()根号
20、转义字符
:续行符 (太长使用,然后回车)
\:反斜杠
\’:单引号
\”:双引号
\b:退格(backspace)
\n:换行
\t:横向制表符
\r:回车
21、字符串拼接
‘aa’ + ‘bb’ ‘aabb’
“aa” “bb” “aabb”
3 + ‘3’ false
22、字符串复制
‘a’3 =>’aaa’
23、不换行打印,end=任意字符串结束,接上改字符串结束
print(“aa”,end=’’)
print(“bb”,end=’’)
24、控制台读取字符串
name = input(“输入名字:”)
25、str()实现数字转型字符串
str(5.20) ==> ‘5.20’
str(3.14e2) ==> ‘314.0’
26、[]提取字符
a = ‘abcdefghijklmnopqrstuvwxyz’
a[0] ==> ‘a’
a[-1] ==>’z’
a[26-1] ==>’z’
27、replace()字符串替换
a.replace(“c”,”高”) 新的字符串:
‘ab高defghijklmnopqrstuvwxyz’
28、字符串切片slice
a = ‘abcdefghijklmnopqrstuvwxyz’
a[:] :返回所有字符串
a[2:] :返回下标为2开始的字符串
a[1:5] :包头不包尾 ‘bcde...’
a[1:5:2] :步进为2 ‘bd’
a[-3:] : ‘xyz’
a[-5:-2] : ‘vwx’
a[::-1]:反向提取
a[2:400]: 默认到队尾
28、split()分割成多个字符串
a = “to be or not to be”
a.split() ==>['to', 'be', 'or', 'not', 'to', 'be']
a.split('be') ==>['to ', ' or not to ', '']
a.split('or') ==>['to be ', ' not to be']
29、join()字符串连接
a = ['to', 'be', 'or', 'not', 'to', 'be']
‘_’.join(a) ==>'to_be_or_not_to_be'
''.join(a) ==>'tobeornottobe'
30、字符串驻留,符合标识符规则启用字符串驻留机制
a = “abd_33” b = “abd_33” a is b ==>Ture(is比较地址)
c = “dd#” d = “dd#” c is d ==>False(对象地址不一致)
31、成员操作符号
in/not in 关键字,判断某个字符串是否在字符串中。
'`a' in “abd_33” ==>Ture`
32、字符串查找
a = ‘’'abcdefghijklmnopqrstuvwxyz’’’
(1)len(a) :返回字符串长度
(2)a.startswith(“tc”) :是否以指定字符串开头
(3)a.endswith(‘cc’) :是否以指定字符串结尾
(4)a.find(‘a’) :第一次出现指定字符串的位置
(5)a.find(‘a’) :最后一次出现指定字符串的位置
(6)a.count(‘a’) :指定字符串出现的次数
(7)a.isalnum() :所有字符串是否全是字母或数字
33、去除首尾信息
strip() :去除字符串首尾指定的信息
lstrip() :去除字符串左边指定的信息
rstrip() :去除字符串右边指定的信息
“ tc “.strip() ==>’tc’
“*t*c*”.strip(*) ==>’t*c’
“*t*c*”.rstrip(*) ==>’*t*c’
34、大小写转换
a = “abcdefghijklmnopqrstuvwxyz”
(1)a.capitalize() :产生新的字符串,首字母大写
(2)a.title() :产生新的字符串,每个单词都首字母大写
(3)a.upper() :产生新的字符串,所有字母大写
(4)a.lower() :产生新的字符串,所有字母小写
(5)a.swapcase():产生新的字符串,所有字母大小写转换
35、格式排版
center()、ljust()、rjust() :居中、左对齐、右对齐
a = “tc”
a.center(10,”*”) ==> '****tc****'
a.center(10) ==>' tc '
a.ljust(10,'*') ==>'tc********'
36、其他方法
(1)isalnum() 是否为字母或数字
(2)isalpha() 是否由字母(含汉字)组成
(3)isdigit() 是否由数字组成
(4)isspace() 是否为空白符 “\t\n”.isspace ==>Ture
(5)isupper() 是否大写
(6)islower() 是否小写
37、format()格式化
a = “名字是:{0},年龄是:{1}”
a.format(“小明”,18) ==>‘名字是:小明,年龄是:18’
>>> a = "名字是:{0},年龄是:{1},{0}很厉害"
>>> a.format("小明",18)
‘名字是:小明,年龄是:18,小明很厉害’
>>> a = "名字是:{name},年龄是:{age}"
>>> a.format(age = 18,name = "tc")
‘名字是:tc,年龄是:18’
38、填充与对齐
^、<、>:居中、左对齐、右对齐,后面带宽度
:后面带填充的字符,只能一个字符,不指定默认为空格填充
>>> "小明{:*>5}岁".format("18")
‘小明***18岁’
>>> "我是{0},我喜欢数字{1:*^8}".format("小明","666")
‘我是小明,我喜欢数字666*’
39、数字格式化
浮点数f,整数d.
>>> a = "我是{0},我的存款有{1:.2f}"
>>> a.format("小明",888888.233)
‘我是小明,我的存款有888888.23’
(1){:.2f} 保留两位小数
(2){:.0f} 不带小数
(3){:+.2f} 带符号保留两位小数,`”{:+.2f}”.format(3.1415)` ==>+3.14
(4){:0>4d} 数字左填充4位 `"{:0>4d}".format(55)`==>'0055'
(5){:.2%} 百分号格式 `"{:.2%}".format(0.24334)`=='24.33%'
(6){:.2e} 指数计法 `"{:.2e}".format(1000000)`==>'1.00e+06'
40、可变字符串(随意修改字符串)
41、运算符
(1)比较运算符可连用: a=4,3<a<10
(2)位操作
>>> a=0b1101
>>> b=0b0100
>>> a
13
>>> b
4
>>> c = a + b
>>> c
17
>>> bin(c) #bin()转换为二进制
'0b10001'
>>> bin(a|b) #或
'0b1101'
>>> bin(a^b) #异或
'0b1001'
>>> bin(a&b) #与
'0b100'
(3)移位
(4)加法操作
数字相加 3+2 ==>5
字符串拼接 "3" + "2" ==>'32'
列表元组等合并 [10,13,13]+[45,45,46] ==>[10, 13, 13, 45, 45, 46]
(5)乘法操作
数字相乘 3*2 ==> 6
字符串复制 "tc" * 3 ==>'tctctc'
列表元组等复制 [10,12,13] * 3 ==>[10, 12, 13, 10, 12, 13, 10, 12, 13]
(6)复合赋值运算符
python不支持自增自减