1、python解释器类型
1、cpython:c语言开发的
2、jpython:java语言开发的
3、Ironpython:.net语言开发的
2、算术运算符
+ - * / //(地板除) %(取余) **(幂运算)
>>> 5//2
2
取整数
>>> 5%2
1
>>> 2**2
4
a的b次方
3、基本输出函数【print】
print(value,sep=" ",end="\n")
value 输出的内容
sep代表输出内容之间的分隔符 默认为一个空格
end 输出完毕后再末尾追加的字符串,默认为一个换行符
4、标准输入函数【input】
input("提示字符串")
eg:r=int(input("请输入圆的半径:"))
5、折行符【\】
1、显示换行
折行符【\】是告诉解释执行器,下一行的代码也是此语句的内容
2、隐式换行
所有括号内的内容换行时,解释执行器会自动去下一行找到相对应的括号,直到找到为止
6、引号说明
三引号内可以包含单引号和双引号
三引号字符串中的换行符会自动转换为\n
三引号一般用来表示函数或者类的文档字符串
>>> s="""hello world
... my name is xx
... """
>>> s
'hello world\nmy name is xx\n'
>>> print(s)
hello world
my name is xx
7、转义字符和原始字符
常见转义字符
符号 | 描述 | 符号 | 描述 |
---|---|---|---|
\' | 代表一个单引号 | \" | 代表一个双引号 |
\n | 代表一个换行符 | \\ | 代表一个\ |
\r | 返回光标至行首 | \t | 水平制表符(Tab) |
r"字符串":让转移字符\无效
>>> s="C:\newfile\test.py"
>>> print(s)
C:
ewfile est.py
>>> s=r"C:\newfile\test.py"
>>> print(s)
C:\newfile\test.py
>>>
8、字符和Unicode编码
chr() 返回Unicode编码所对应的字符
ord() 返回一个字符所对应的Unicode编码
>>> ord("徐")
24464
>>> ord("a")
97
>>> ord("A")
65
>>>
>>> chr(24464)
'徐'
>>> "ABC" > "Abc"
False
>>> "ABC" >"ABCD"
False
9、字符串的切片【slice】
字符串[开始索引:终止索引:步长]
当步长为正数时,取正向切片;当步长为负数时,取反向切片;默认为1
A B C D E F G
0 1 2 3 4 5 6
-7 -6 -5 -4 -3 -2 -1
练习:输入一段字符串,判断这个字符串是不是回文
s=input("请输入一段字符串:")
s1=s[::-1] #s[-1:-len(s)-1:-1]
if s==s1:
print("是回文!")
else:
print("不是回文!")
10、格式化字符串
格式化字符串%参数值
格式化字符串%(参数值1,参数值2)
fmt="姓名:%s,年龄:%d"
name="小明"
age=20
print(fmt%(name,age))
11、修饰符
- 左对齐(默认为右对齐)
+ 显示正号
0 左侧空白位置补0
宽度:整个数据输出的宽度
精度:保留小数点后多少位
>>> a
123
>>> "%d"%123
'123'
>>> "%10d"%123
' 123'
>>> "%-10d"%123
'123 '
>>> "%-+10d"%123
'+123 '
>>> "%0+10d"%123
'+000000123'
>>> "%f"%123.456
'123.456000'
>>> "%.2f"%123.456
'123.46'
>>> "%2f"%123.456
'123.456000'
>>> "%f"%123.4567891
'123.456789'
>>> "%.7f"%123.4567891
'123.4567891'
>>>
11、break、continue语句
1、在while循环中执行continue语句,将会直接跳转到while语句的真值表达式处重新判断循环条件
2、在for循环中执行continue语句,将会从可迭代对象中取下一个元素,绑定变量后再次进行循环
3、break语句终止循环时,循环语句的else子句将不会执行
4、break语句只能终止当前循环的执行,如果有循环嵌套时,不会跳出嵌套的外层循环
12、range函数
用来创建一个生成一系列整数的可迭代对象(也叫作整数序列生成器)
range(stop)从0开始,每次生成一个整数后加1操作,直到stop为止
range(start,stop,step)从start开始,每次生成一个整数后移动step,直到stop为止
13、random随机模块
1、random.random()
用于生成一个0到1范围内的随机浮点数
2、random.randint(a,b)
用于生成一个指定范围内的整数,其中a是下限,b是上限
3、random.randrange(start,stop,step)
从指定范围内,按照指定基数递增的集合中获取一个随机数
14、列表、字典、元组
列表:存储任意类型数据,元素与元素之间没有任何的关联关系,但具有先后顺序关系
+ 用于拼接列表,生成新的列表,内存地址会发生变化
+= 用于原列表与右侧列表进行拼接,并用该变量重新绑定新列表,内存地址不会改变
* 生成重复列表,生成新的列表,内存地址会发生变化
*= 用于生成重复列表,并用该变量重新绑定新列表,内存地址不会变化
>>> L=[100,200,300,400]
>>> id(L)
1883498866184
>>> L=L+[500,600]
>>> L
[100, 200, 300, 400, 500, 600]
>>> id(L)
1883498866824
>>> L=[100,200,300,400]
>>> id(L)
1883498866184
>>> L+=[500,500]
>>> L
[100, 200, 300, 400, 500, 500]
>>> id(L)
1883498866184
>>> s="abc"
>>> id(s)
1883497905432
>>> s=s+"de"
>>> s
'abcde'
>>> id(s)
1883498848184
>>> s="abc"
>>> id(s)
1883497905432
>>> s+="de"
>>> s
'abcde'
>>> id(s)
1883498848128
列表的索引赋值:
>>> L=[100,200,300]
>>> L[0]="hello"
>>> L
['hello', 200, 300]
>>>
列表的切片赋值:
>>> L=[100,200,300,400,500,600]
>>> L[0:1]
[100]
>>> L[0:1]=["A"]
>>> L
['A', 200, 300, 400, 500, 600]
>>> L[0:1]=["A","B"]
>>> L
['A', 'B', 200, 300, 400, 500, 600]
列表前追加元素:
>>> L[0:0]
[]
>>> L[0:0]=[1000]
>>> L
[1000, 'hello', 'B', 'world', 300, 'name', 500, 600]
列表后追加元素:
L.append()
字典【dict】:
1、字典是一种可变的容器,可以存储任意类型的数据
2、字典中每个数据都用键(key)值(value)对进行映射存储
3、字典中的每个数据都是用键进行索引,而不是用下标进行索引
4、字典中的键不能重复,且只可以用不可变类型作为字典的键
5、字典的数据没有先后顺序关系,字典的存储是无序的
用{}括起来,以逗号分隔每个键值对,键和值之间:分隔
eg:d={"name":"小明","age":20}
字典的索引:dict[key]
删除键值对:del dict[key]
in not 运算符:判断一个键是否存在于字典当中
元组【tuple】:
元组是不可变的序列,可以存放任意数据类型的容器,且具有先后顺序关系
用()括起来,单个元素括起来后加逗号,区分是单个对象还是元组
>>> t=(100,200)
>>> t
(100, 200)
>>> type(t)
<class 'tuple'>
>>> t=(100)
>>> t
100
>>> type(t)
<class 'int'>
>>> t=(100,)
>>> t
(100,)
>>> type(t)
<class 'tuple'>
15、字符串文本解析函数
1、s.split():拆分字符串,通过制定的分隔符对字符串进行切片,返回分割后的字符串列表
>>> s="www.baidu.com"
>>> s.split(".")
['www', 'baidu', 'com']
2、s.join(iterable):用可迭代对象中的字符串,返回一个中间用S分隔的字符串
>>> L="hello"
>>> "-".join(L)
'h-e-l-l-o'
>>> " ".join(L)
'h e l l o'