Python基础
之前由于水平不足博客写的很不好,现于2019/11/30进行大更改。
python
1.基础
①代码中单引号与双引号效果一样,不像其他语言一样有所区别,但是要成对使用,不能落单。
②命名可以用数字,字母,下划线,汉字,不能以数字开头。注意不要和关键字重名。
③字符串:每个元素的位置可以正着数,也可以倒着数。正着数从0开始,倒着从-1开始。
字符串访问区间方式:[m,n],访问从m开始到n的字符串内元素(不包括n,左闭右开) m,n可以是正着数的,也可以是倒着数的,还可以混合用。
④交换x,y的值:x,y=y,x(比c简单多了)
⑤#后面跟的是注释,大程序中注释很重要,便于自己和别人的理解。
⑥为了简化避免造成机器误解,Python还允许用 r’ ‘表示 ‘ ‘ 内部的字符串默认不转义,可以自己试试:
(1)输入:>>> print( ‘ \\\t\\ ‘)
输出:\ \
(2)输入:>>> print ( r ‘ \\\t\\‘)
输出:\\\t\\
2.输出 print() 函数,输出的是字符串
⑴可以直接输出,可以输入计算表达式,输出结果。
⑵也可以输出多个字符串,用逗号隔开,输出时逗号变为空格
(3)默认调用结束后输出一个\n,可以加一个end = ‘ ‘,使其不输出换行符。
(3)format函数:
: | <填充> | <对齐> | <宽度> | <,> | <精度> | <类型> |
---|---|---|---|---|---|---|
引导符号 | 用于填充的单个字符 | <左对齐,>右对齐,^居中 | 槽的设定输出宽度 | 数字的千位分隔符适用于整数和浮点数 | 浮点数小数部分的精度或字符串的最大输出长度 | 整数类型b,c,d,o,x,X浮点数类型e,E,%f |
例:”{}:计算机{}的CPU占用率为{}%。”.format(“2016-131”,”PYTHON”,”10”) | ||||||
也可以在大括号里加数字,可以改变参数要填入的位置。 |
3.输入 input()
①直接输入:input(),不论输入什么,python都会自动将其转==换为字符串==,需要根据实际需要再转换类型。
②input(‘please input:’) 虽然是输入函数但是屏幕上还是可以显示please input: 显示的东西要用引号括起来
数据类型
1.整数:顾名思义,包括正整数、负整数
浮点数:小数或用科学计数法表示的数
字符串: str ‘字符串’
2.除法:a/b,得结果为浮点数,即使能整除,结果也是浮点数。
a//b(地板除),结果为整数,不四舍五入,只取整数部分。
3.’%‘求余,返回值为余数。
4.与运算and
或运算or
非运算not
ps:Python中的空值用none表示,但none不等于0,0是有意义的,none就是一个特殊的空值
字符串
==str()==(此函数可以将其它类型的东西,转化为字符串)
1.ord()函数用于获取字符的阿斯克码
chr()是将阿斯克码变为对应的字符
2.len()计算字符串长度
补充:
.title() #首字母变为大写,其它部位字母小写
.upper() #全部转换为大写
.loewr() #全部转换为小写
3.合并字符串的话,直接用+连接两个字符串就好。
4.字符串的复制:a = b,此时a和b是指向同一个地址的,改变a的值,b也会变。
a = b [ : ],此时a和b互不相同,分别指向两个地址。
5.输出时删除字符串尾内的空白:.rstrip()
输出时删除头部空白:.lstrip()
输出时删除全部空白:.strip()
格式化:
%d 整数
%f 浮点数
%s 字符串
%x 十六进制
列表
1. list[]中还可以嵌套list[]构成二维数组
2.ord()函数用于获取字符的阿斯克码
chr()是将阿斯克码变为对应的字符(与字符串一样)
3.可以使用==list()函数==将元组或字符串转化为列表。
4.用for循环对列表进行遍历(输出各个元素值)
倒着输出列表:a.reverse(){用a[ : : -1]也可}
5.如果将列表传入函数的话,相当于传入了地址,函数内对列表的改变是永久性的。
要想不改变列表内的值,可以传入列表的副本:list [ : ] , 但是呢会占用时间,所以说能不这样尽量别这样。
6.增:
追加元素到末尾:列表名.append(‘ ‘),直接加*到列表末尾
追加元素到任意位置:列表名.insert(1, ‘ ‘)插取与一号元素位置
删:
删除末尾元素:列表名.pop( )删除列表最后一个元素。
删除指定位置的元素:列表名.pop(1)删除一号元素
pop删除后,会将删除的值返回,可以用一个变量接收删除的值,供接下来使用
列表名.remove(‘ ‘),删除括号内的元素,如果列表内有多个这个元素,则删除第一个。
改:
直接赋值给索引位置
列表名[2]=’lcy’ ,将列表中二号元素换为lcy
排序:
a.sort(),对列表进行永久的排序(从小到大)(括号内写入True,则按从大到小排序)
sorted(a),临时排序,不改变a本来的结构。此函数不仅仅适用于列表。
元组
==tuple()==
==与列表类似,但是初始化后不能更改==
正是应为其不能更改,所以说安全性非常可靠,比list()安全。
1.有时需要定义只有一个元素的tuple(),例t=(1),这是不正确的,会产生歧义,改:t=(1,)。
. 2.虽然说元组中的元素不可变,但是元组中也可以包含列表,列表可变,于是说,元组也可以近似看为可变。
3.正是应为元组不可变,所以说是简单的一种数据结构,在创建那些数值不会变的元素时,可以用元组。减少其对内存的占用。
4,利用+,可以吧多个元组合成一个。
5.元组名.count(值),统计这个值在元组内出现次数。list也能用。
三大结构
顺序结构
无知识点,前面已经提过
break语句:跳出循环
continue语句:结束此次循环,开始下次循环
判断结构
1 | age=3 |
==注意了:不要忘写冒号==
ps:elif=else if,且elif语句后也要加冒号
1.inpute()【输入函数】输入的返回值是字符串,有时候需要换数据类型,
2.关键字in:判断一个字符(串),是否在字符串或者列表内,同理not in作用相反。
1 | a = 'abcdef' |
3.空列表,空字符代表false
循环结构
==for循环==
代码:(for…in…)注意缩进
1
2
3
4sum=0
for x in [1,2,3,4,5,6,7,8,9,10]:
sum=sum+x
print(sum)
for i in …
in后面的可以是range()函数,也可以是一个字符串,列表,字典…等各种东西,此时 i 代表 in 后面的各个元素
==while循环==(不达到结果可以无限循环)
1 | #求1~100内的奇数的和 |
1 | #删除列表内特定的元素 |
字典
(==dict== ,key-value)存储就像查询成绩一样,名字对应成绩
sduent = { ‘lu’:20 , ‘lc’:30 , ‘ly’:40 }
1.增:
stuent[‘lk’] = 0
2.删:
del sduent[‘lu’] #删除字典内的这个键值对。
sduent.pop(‘lu’) #与列表删除类似,返回值为该键对应的值。
3.改:
sduent[‘lc’] = 100
4.查:
sduent[‘ly’]
5.字典内的元素是没有顺序的
6.创建空字典:
a= { }
7.遍历字典:
1 | #输出字典所有信息: |
8.嵌套:仅仅一个字典结果能办的事情有点少,使用嵌套的话就会强大很多:
(1).将字典名存到一个列表内,构成字典列表。
(2).字典内嵌套列表,即字典内的值可以用一个列表代替,增大储存元素。
(3).字典内储存字典:类似于二维数组,内层的字典名当键,字典内容当值
集合类型
==set==
set和dict类似,也是一组key的集合,但不存储value。由于key不能重复,所以,在set中,没有重复的key。即使有,也不会被输出。set中只能存储固定数据类型,不能有可变数据类型。
1.set中的元素都是无序的,每次输出的顺序可能都不一样。
2.add()增加元素
3.remove()除去元素
set函数可用于生成集合,输入的参数可以是任何组合数据类型,返回结果是一个无重复且排序任意的集合
w=set(“apple”)
{‘e’,’p’,’a’,’l’}
V=set((“cat”,”dog”,”tiger”,”human”))
{‘cat’, ‘dog’, ‘tiger’, ‘human’}