Python之路,day4-Python基础

1.集合

2.元组 只读列表,只有count,index2个方法

3.字典
key-value对
1.特性
2.查询速度快,比列表快
python中的hash在同一程序下值相同
python字典中的hash只有key是hash的

hash之后二分查找,劈半劈半


注:只有unicode有encode方法

函数:
 1 #
 2 def qq():
 3     print("nihao!!!")
 4 qq()
 5 print(qq())
 6 
 7 #传参数
 8 def aa(name):
 9     print("woshi,%s"%name)
10 aa('hsc')
11 
12 #传两个参数
13 def aa(name,age,sex='F'):
14     #非默认参数必须放到非默认参数前面
15     #位置参数,非默认参数,name,age
16     #默认参数 sex ...
17     print("woshi,%s,%s"%(name,age))
18 aa('hsc',22)
19     #指定参数赋值,叫做关键字参数
20 
21 #非固定参数
22 #*args 为了潜在的扩展需求
23 #**kwargs
24 #指名字为字典,不指为元组

返回值
1.一旦你的函数经过调用并开始执行,那么你的函数外部的程序,就没有办法再控制函数执行的过程了
此时外部程序只能安静的等待函数的执行结果,为啥要等待函数结果,因为外部程序要根据函数的执行
结果来决定下一步怎么走,这个执行结果就是以return的形式返回给外部程序
2.return 代表着一个函数的结束
3.return 可以返回任意数据类型
4.对于用户角度,函数可以返回任意数量的值,但对于py本身来讲,函数只能返回一个值
 1 def auth():
 2     username = input('user:').strip()
 3     password = input('passwd:').strip()
 4     #get data from db
 5     _username = 'hsc'
 6     _password = 'qwer'
 7     if username == _username and password == _password:
 8         print('psssed ')
 9         return True
10     else:
11         return False
12 
13 def home():
14     if login_status == True:
15         print('welcome')
16     else:
17         auth()
18 def pay():
19     if login_status == True:
20         print('welcome')
21     else:
22         auth()
23 
24 
25 
26 login_status = auth()
27 
28 home()
29 pay()


局部变量
 1 login_status = False#全局变量
 2 
 3 def auth():
 4     username = input('user:').strip()
 5     password = input('passwd:').strip()
 6     #get data from db
 7     _username = 'hsc'
 8     _password = 'qwer'
 9     if username == _username and password == _password:
10         print('psssed ')
11         #修改全局变量
12         global login_status #利用global修改全局变量
13         login_status = True
14         #局部变量,只在当前函数内生效
15         # 这个login_status与上面的全局变量是完全不同的两个变量
16         #占用不同的内存空间
17 def home():
18     if login_status == True:
19         print('welcome')
20     else:
21         auth()
22     print('welcome')
23 def pay():
24     if login_status == True:
25         print('welcome')
26     else:
27         auth()
28 
29 
30 
31 auth()
32 print(login_status)

######嵌套
 1 name = 'alex'
 2 
 3 def changeName():
 4     name = 'jack'
 5     print(name)
 6 
 7     def changeName2():
 8         name = 'rain'
 9         print('name2',name)
10     changeName2()
11 changeName()


递归
 1 # def calc(n):
 2 #     print(n)
 3 #     if n//2 > 0:
 4 #         calc(n//2)
 5 # calc(10)
 6 
 7 
 8 #不对
 9 # def calc(n):
10 # #    print(n)
11 #     if int(n/2) > 0:
12 #         return calc(int(n/2))
13 #     return n
14 #  #   print(n)
15 #
16 # calc(10)
17 
18 # def func(n):
19 #     print('------',n+1)
20 #     func(n+1)
21 #
22 # func(0)

 高阶函数

 1 # calc2 = lambda x:x*x
 2 # def calc(n):
 3 #     return -n
 4 #
 5 # a=6
 6 # calc(a)
 7 
 8 def add(x,y,f):
 9     return f(x) + f(y)
10 
11 def calc(n):
12     return n+1
13 
14 res = add(3,-6,calc)
15 #abs 求绝对值
16 print(res)

#########编程范式

1.面向过程
函数

2.面向对象

3.函数式编程


内置函数
 1 abs()#求绝对值
 2 all()#判断列表内参数是否全为真
 3 any()#列表任意一个值为真,返回真
 4 ascii()#以ascii表的形式显示内容
 5 print(ascii('地方'.encode()))
 6 bin()#把数字转换为二进制
 7 print(bin(10))
 8 bool()#判断是否为真true false
 9 bytes#显示参数在ascii表中的位置数字,0-255之间的数字,ascii表
10 bytearray()#修改字符串中的一个值
11 callable()#判断一个对象是否可以调用
12 chr()#把数字转换为在ascii表中对应的字符
13 ord()#把字符转换为在ascii表中对应的数字
14 compile()###
15 f=open('返回值.py',encoding='utf-8')
16 code = compile(f.read(),'','exec')
17 print(code)
18 exec(code)###
19 eval()#数字运算
20 exec()#运行代码
21 complex#返回复数
22 dir()#返回文件(列表。。。。)可用的方法
23 divmod()#返回商和余数
24 divmod(10,2)
25 enumerate#格式化输出
26 filter()#后面值满足才会留下来
27 for i in filter(lambda  x:x>5,range(10)):
28     print(i)
29 float#浮点型
30 format()
31 frozenset#
32 a = frozenset({1,4,4,5,5,6})
33 b = {1,4,5,5,6}
34 print(a)
35 globals()#把当前程序所在内存里的所有数据都以字典型形式打印出来
36 locals()#打印局部
37 hex()#求十六进制
38 #0x---》十六进制的表示,例:0x8
39 list()#转换为列表
40 max()#求最大
41 min()#求最小
42 oct()#八进制
43 #0o---》十六进制的表示,例:0o8
44 pow(4,9)#
45 
46 #分隔符
47 msg = "又回到最初的起点"
48 f = open("tofile","w")
49 print(msg,"记忆中你青涩的脸",sep="|",end="",file=f)
50 
51 reversed#反转
52 data = [3,4,5,6,7,8]
53 data = reversed(data)
54 for i in data:print(i)
55 
56 round()#四舍五入,五舍六入
57 
58 set#列表变集合
59 
60 slice#切片
61 a = range(20)
62 pattern = slice(3,8,2)
63 for i in a[pattern]:#等于a[3:8:2]
64     print(i)
65 
66 sorted()#将字符串按ascii表排序
67 a = 'hsc'
68 a = sorted(a)
69 print(a)
70 
71 sum#列表求和
72 
73 tuple#转换为元组
74 
75 vars()#把当前程序所在内存里的所有数据都以字典型形式打印出来
76 
77 zip#拉链,合并
78 a = [1,3,5,7]
79 b = [2,4,6,8]
80 for i in zip[a,b]:
81     print(i)
原文地址:https://www.cnblogs.com/heshaochuan/p/6032763.html