0.
(1)py3对中文支持较好;py2需要在程序中加入‘#coding:utf-8’才能支持中文字符
(2)py3中msg = input()读入的内容是字符串,相当于py2中的raw_input();py2中的input()函数要求类型,比如字符串必须有引号'Hello',否则会报错
(3)命令
dir()列出指定类或者模块包含的全部内容(函数,方法,类,变量等) dir(str)
help()查看某个函数或者方法的帮助文档 help(str.title)
(4)1 和 True相同; 0和False相同
1.type(),输出传入数据的类型
>>> a = 's'
>>> type(a)
<class 'str'>
2.print(value, ..., sep='', end='', file=sys.stdout, flush=False)输出函数
参数可以指定 分隔符, 结束符(默认是\n), 目标文件(默认是sys.stdout),是否立即刷新输出缓存
#输出字符串到终端
>>> print('key:', key, 'value:', value, sep='*', end='@')
key:*name*value:*test@>>>
#输出内容到文件
>>> f = open('d:/py_print.txt', 'w')
>>> print('将内容输出至文件', file = f)
>>> f.close()
3.Python 中的关键字
>>> import keyword
>>> keyword.kwlist
['False', 'None', 'True', 'and', 'as', 'assert', 'break', 'class', 'continue', 'def',
'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in',
'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while',
'with', 'yield']
4.Py3中的内置函数
https://www.cnblogs.com/yuxuanlian/p/10289190.html
5. 数值类型
(1)整型支持None
>>> a = None
>>> print(a)
None
>>> print(type(a))
<class 'NoneType'>
注: 支持 1_000_000 ~ 1000000
(2)进制数表示
0x30 ~ 0X30 十六进制
0b30 ~ 0B30 二进制
0o30 ~ 0O30 八进制
>>> hex_val = 0x30
>>> print(hex_val)
48
(3)浮点数
3.14
5.12e2 ~ 512
注:科学计数法表示的数类型是浮点数类型
>>> f1 = 3.14
>>> f2 = 3.14e2
>>> f3 = 5e2
>>> type(f1)
<class 'float'>
>>> type(f2)
<class 'float'>
>>> type(32)
<class 'int'>
>>> type(f3)
<class 'float'>
(4)复数
>>> cp1 = 3+1j
>>> cp2 = 1-2j
>>> type(cp1)
<class 'complex'>
>>> print(cp1-cp2)
(2+3j)
#复数开方
>>> import cmath
>>> print(cmath.sqrt(-1))
1j
6.字符串(其内容是不能通过下标访问的方式改变的)
(1)用’‘和“”没有任何区别
(2)如果字符串内容中包含了', 可以用""将字符串包含;反之也有效;若单双引号都包含,则可以用\进行转义
"I'm a Dever"
'I"m a Dever'
'I\"m \'a "Dever"'
(3)这种情况会进行字符串拼接
>>> s1 = '123' "345"
>>> print(s1)
123345
>>> print(s1+s1)
123345123345
(4)py允许字符串之间的直接拼接, 但是不允许数字与字符串直接拼接,需借助str()或者repr()将数字转为字符串
注: str()和repr()有所不同,看代码输出
>>> a = 2.13
>>> print(s1 + str(a))
1233452.13
>>> print(s1 + '|' + str(a))
123345|2.13
#注意str和repr的区别
>>> print(s1, str(s1), repr(s1), sep='\n')
123345
123345
'123345'
(5)长字符(用三个’或者"包含, 内容可以包含单引号,双引号等等,无需转义)
(6)接续符 \
>>> s= '123 456\
... 789'
>>> print(s)
123 456 789
(7)原始字符串,不受转义符号\的影响(或者直接用'''G\Dir\File'''也行)
>>> s = 'G\Dir\file'
>>> print(s)
G\Dirile
>>> sr = r'G\Dir\file'
>>> print(sr)
G\Dir\file
(8)字节串bytes
>>> s = '''G\File汉字\Dir'''
>>> print(s[2:3])
F
>>> print(s[6:7])
汉
>>> print(s[5:7])
e汉
>>> sb = bytes(s, encoding='utf-8')
>>> print(sb)
b'G\\File\xe6\xb1\x89\xe5\xad\x97\\Dir'
>>> sd_decode = sb.decode('utf-8')
>>> print(sd_decode)
G\File汉字\Dir
(9)格式化字符串
-表示左对齐(默认是右对齐)
+表示数值总是带着符号(正数带+,负数带-)
0表示不补充空格,补充0
>>> a= 1
>>> b = str
>>> print("a=%+6d, b=%6s" % (a, b))
a= +1, b=<class 'str'>
>>> b = 'str'
>>> print("a=%+6d, b=%6s" % (a, b))
a= +1, b= str
# 8表示最小宽度是8, 3表示保留三位小数
>>> print("%+-08.3f" % a)
+3.142
>>> print("%+08.3f" % a)
+003.142
# 字符串
>>> s = 'Chanalle'
>>> print("%.3s" % s)
Cha
>>> print("%10.3s" % s)
Cha
(10)序列化字符串
>>> s = 'this is a test'
>>> s[1:2]
'h'
>>> s[1:-5]
'his is a'
>>> s[1:]
'his is a test'
>>> s[-5:]
' test'
(11)字符串常用函数
大小写相关: s.title()每个单词首字母大写;lower()全小写;upper()全大写
删除空格: strip()删除首尾空格;lstrip()删除开始空格;rstrip()删除末尾空格
查找替换相关: startswith()/endswith()以某串开始/结束;
find()返回指定串第一次出现的下标(没有返回-1)(可以指定开始的下标)
index()返回指定串的下标,没有会引发错误
replace(a, b, 2)将串中的第2个a替换为b
translate()
>>> s = 'this is a test'
#116(t) -> 964(τ)
>>> table = {116:964}
>>> s.translate(table)
'τhis is a τesτ'
# 可以用str.maketrans创建table(已最后出现的为准)
>>> table = str.maketrans('thisis', 'THISIS')
>>> s.translate(table)
'THIS IS a TeST'
>>> table = str.maketrans('thisis', 'THISOD')
>>> s.translate(table)
'THOD OD a TeDT'
>>> s = '123;;456'
>>> s.split(';')
['123', '', '456']
>>> s.split(';;')
['123', '456']
>>> s.replace(';;', '/')
'123/456'
>>> s = '123;;456;;567;;333'
# 最多找到两个;;后停止分割
>>> s.split(';;', 2)
['123', '456', '567;;333']
7.运算符
/除;//整数除法;**乘方
and;or;not 与;或;非
in运算符
>>> s = 'this is a test'
>>> 'is' in s
True
三目运算符 True对应的行为 if 表达式 else False对应的行为
>>> print(123) if 13 > 10 and 12 < 13 else print(456)
123
>>> print(123) if 1 > 10 and 12 < 13 else print(456)
456
>>> print(123) if not 1 and 1 > 10 and 12 < 13 else print(456)
456
>>> print(123) if not 1 and 11 > 10 and 12 < 13 else print(456)
456
>>> print(123) if not 0 and 11 > 10 and 12 < 13 else print(456)
123