Python基础知识

条件表达式

三元操作符

small = x if x<y else y

断言(assert)

assert称为断言,当关键字后面的条件为假时候,出现自动崩溃并抛出AssertionError的异常


## for循环
```py
favor = "cicarius"
for i in favor:
	print(i,end=" ")

break 终止并退出

continue 中止本轮循环并开始下一次循环

range()

range(start,stop,step=1)
start,step可选,step默认为1

list(range(5))	# [0,1,2,3,4] 不包含5
for i in range(2,9)
	print(i)
# 2,3,4,5,6,7,8 包含2不包含9

创建列表

member = ['Make','Jake','Joe','Sam']
number = [1,2,3,4,5]
mix = [1,2,3.21,'Kaste','Max',2.34]	#混合列表
empty = []	# 空列表
len(member)	#长度

列表的append()

member.append('Charle')	# 添加新一个数组,append方法属于member的方法

列表的extend()

member.extend(['Xiaomi','Kou'])	# 以列表形式使用extend追加多个元素

列表的insert()

member.insert(1,'牡丹') #排在第二位 

获取元素

member[0]	#获取元素 

列表的remove()

member.remove('删除')

del

del member

列表的pop()

name = member.pop()	# 有返回值
member.pop(1)

列表分片Slice(获取多个元素)

member[1:3]	# 从第2个开始到第3个元素
member[:3]	# 从开头到第3个元素
member[1:]
two = member[:]	# 元素拷贝

列表元素的比较

list1=[123]
list2=[234]
list1>list2	# False
list3=[123,456]
list3>list2 # False,只比较第一个元素
list4=list1+list2  # 类型一致
list3*3 # 复制3编 
# [123, 456, 123, 456, 123, 456]

in包含

123 in list3	# True
'KK' not in list3	# False 
list5 = [123,['Jake','Max'],898]
'Jake' in list5 # False
'Jake' in list5[1] # True 遍历二维数组中的元素
list5[1][1]	# 访问二维数组中的元素

dir(list) list中的函数

['add', 'class', 'contains', 'delattr', 'delitem', 'dir', 'doc', 'eq', 'format', 'ge', 'getattribute', 'getitem', 'gt', 'hash', 'iadd', 'imul', 'init', 'init_subclass', 'iter', 'le', 'len', 'lt', 'mul', 'ne', 'new', 'reduce', 'reduce_ex', 'repr', 'reversed', 'rmul', 'setattr', 'setitem', 'sizeof', 'str', 'subclasshook', 'append', 'clear', 'copy', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort']

列表中的count

list3.count(123) # 123在列表中出现次数

列表中的index

list3.index(123)	# 123第一次出现的序列
list3.index(123,3,7)	# 123在指定位置出现的序列

列表中的reverse

list3.reverse()	# 列表的反转

列表中的sort

list6 = [4,2,5,1,9,23,32,0]
list6.sort()	# 从小到大排序
list6.sort(reverse=True) # 从大到小排序  

list7=list6[:] # 拷贝,list6修改llist7不变
list8=list6 # 墙头草,多一个指向 list6变换list8也跟着变

元组

元组不可改变,使用括号
tuple1=(1,2,3,4,5,6,7,8,9)

tupe1[1]
tupe1[2:]
tupe1[:5]
tuple2 = tupe1[:]

元组的标志是逗号

temp=(1,)
temp=()
temp=1,2,3
8 * (8) # 64 整型
8 * (8,) # (8, 8, 8, 8, 8, 8, 8, 8) 元组

元组的更新

temp = (1,2,3,4,5)
temp = temp[:2]+('Jake',)+temp[2:]

del temp 删除

字符串

str1='I love IT'
str1[:6]	# 分片'I love'
str1[5]	# 字符串截取

插入字符

str1 = str1[:3]+"插入字符串"+str1[3:]

字符串的capitalize()

str2 = 'xiaoxie'
str2.capitalize()	# 首字母大写 Xiaoxie

字符串的casefold()

str2 = 'XIAOXIE'
str2.casefold()	# 把整个字符串的所有字符改为小写

center(width) 将字符串居中,并使用空格填充至长度width的新字符串

str2 = '居中'
str2.center(50)	

字符串的count(sub,start,end) 返回sub在字符串里出现的次数,start,end表示范围

str2 = 'hellojake'
str2.count('e') # e出现2次

字符串的encode(encoding='utf-8',errors='strict')

字符串的endswith(sub,start,end) 检查字符串是否以sub字符串姐视,如果是返回True,否则返回False,start和end参数可选,表示范围

字符串的find(sub,start,end) 检测sub是否包含在字符串中,如果有则返回索引值,否则返回-1

字符串的index(sub,start,end) 与find方法一样,不过如果sub不在string中会产生一个异常(ValueError: substring not found)

字符串的isnumeric() 如果字符串中只包含数字字符,返回True,否则返回False

字符串的isspace() 如果字符串中只包含空格,则返回True,否则返回False

字符串的isalnum() 如果字符串至少有一个字符并且所有字符都是字母或数字则返回True,否则返回False

字符串的isalpha() 如果字符串至少有一个字符并且所有字符都是字母数字则返回True,否则返回False

字符串的join(sub) 以字符串作为分隔符,插入到sub中的额所有字母之间

str='hello'
str.join('123') # '1Hello2Hello3'

字符串的ljust(width) 返回一个左对齐的字符串,并使用空格填充至长度为width的新字符串

字符串的lower() 转换字符串中所有大写字符为小写

字符串的lstrip() 去掉字符串在左边所有空格

字符串的partition(sub) 找到字符串sub,把字符串分成一个3元组(pre_sub,sub,fol_sub),如果字符串中不包含sub则返回('原字符串','','')

str='I love IT'
str.partition(' ')
# ('I', ' ', 'love IT')

字符串的replace(old,new,count) 把字符串中的old子字符串替换成new子字符串,如果count指定,则替换不超过count次

str='I love IT'
str.replace('IT','Girl')

字符串的split(sep=None,maxsplit=-1) 不带参数默认是以空格为分隔符切片字符串,如果maxsplit参数有设置,则仅分隔maxsplit个子字符串,返回切片后的字符串拼接的列表

str="I love IT"
str.split()
# [ 'I', 'love', 'IT']

字符串的strip(chars) 删除字符串前边和后边所有的空格,chars参数可以定制删除字符

字符串的translate(table)

str="sssasss"
str.translate(str.maketrans('s','b'))	# 转换后 bbbabbb

格式化

"{0} love {1}.{2}".format("I","IT","com")
"{a} love {b}.{c}".format(a="I",b="IT",c="com")	# 关键字写法
"{0} love {a}.{b}".format("I","a=IT",b="com")	# 序号在前,关键字在后
# 错误写法"{a} love {1}.{2}".format(a="I","IT","com") # 关键字必须在序号之后(positional argument follows keyword argument)

如果打印出{0}

"{{0}}".format("不打印") # 结果为{0}

四舍五入

"{0:.1f}{1}".format(26.678,"GB")	# 27.7GB

字符串格式化符号含义

符 号 说 明
%c 格式化字符及其ASCII码
%s 格式化字符串
%d 格式化整数
%o 格式化无符号八进制数
%x 格式化无符号十六进制数
%X 格式化无符号十六进制数(大写)
%f 格式化定点数,可指定小数点后的精度
%e 用科学计数法格式化定点数
%E 作用同%e
%g 根据值的大小决定使用%f或%e
%G 作用同%g,根据值大小决定使用%f或%e

'%c' % 97 # 'a'
'%c %c %c' % (97.98,99)	# 'a' 'b' 'c'
'%s' % 'I love IT' # 'I love IT'
'%d + %d = %d' % (4,5,4+5) # '4 + 5 = 9'
'%e' % 27.658 # 2.765800e+01
'%E' % 27.658 # 2.765800E+01

格式化操作符辅助指令

符号 说明
m.n m是显示的最小总宽度,n是小数点后的位数

  • 用于左对齐
  • 在正数前面显示加号(+)

在八进制前面显示('0o'),在十六进制前面显示'0x'或'0X'

0 显示的数字前面填充'0'取代空格

'%5.1f' % 27.658	 # '27.7'
'%.2e' % 27.658 	# '2.77e+01'
'%#o' % 10 		# 0o12
'%#X' % 108 	# 0X6C
'%05d' % 5		# '00005'
'%+05d' % 5		# '+0005'
'%-+05d' % 5	$ '+5   ' 左对齐,显示正号,占据五个宽度

字符串转义字符含义

符号 说明
' 单引号
" 双引号
\a 发出系统响铃声
\b 退格符
\n 换行符
\t 横向制表符
\v 纵向制表符
\r 回车键
\f 换页符
\o 八进制数代表的字符
\x 十六进制数代表的字符
\0 表示一个空字符
\ 反斜杠

序列的常用函数

list() 把一个可迭代对象转换为列表

str()

len()

max() 返回序列或者参数集合中的最大值,类型一致

min() 返回序列或者参数集合的最小值, 类型一致

sum(iterable,start=0) 返回序列iterable和可选参数start的总和

sorted()

reversed() <list_reverseiterator>返回值是迭代器对象

enumerate()

number=(123,455,22,456,63)
list(enumerate(number)) 
# [(0,123),(1,455),(2,22),(3,456),(4,63)]

zip()

a=[1,2,3,4,5,6,7,8]
b=[4,5,6,23,44]
list(zip(a,b))
# [(1,4),(2,5),(3,6),(4,23),(5,44)]

函数

函数文档

def MyFuncion(name):
	'函数定义过程中的name是叫形参'		# 函数文档
	# 因为只是一个形式,表示占据一个参数的位置
	print('传递进来的'+name+'叫做实参,因为是具体的参数值')

#### 文档输出方法1 ####
MyFuncion.__doc__
# 打印效果:'函数定义过程中的name是叫形参'
#### 文档输出方法2 ####
help(MyFuncion)

关键字参数

def SaySome(name,words):
	print(name+'->'+words)

SaySome(words="I love U",name="KK")

收集参数

def test(*params,esp):
	print('参数的长度是:',len(params))
	print('第二个参数是:',params[1])
	print('esp为:',esp)

test("jake","max",esp=8)

函数可以有多个返回值,默认统一为一个元组形式

def back():
	return 1,'jack','max';

局部变量与全局变量

函数内部形成一个与外部相同的参数old_price,并且离开函数后就失去效果,为局部变量

def change(old_price):
	old_price=50	# 局部变量
	print("函数内部:old_price = ",old_price)
	return old_price*0.8
old_price=100	# 全局变量
change(old_price)
print("函数外部:old_price = ",old_price)

文件读取

显示当前文件目录

import os
print(os.getcwd())
f = open("test.txt","r")
g = f.read()
print(g)
f.close()
f = open("text.txt","w")
f.write("CJJF")
f.write("\n")
f.write("6666")
f.close()
posted @ 2019-08-15 18:43  cicarius  阅读(323)  评论(0编辑  收藏  举报