• 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)
  • 相关阅读:
    (转)classload和class.forname()区别
    (转)HashMap和HashTable源码
    (转)spring 框架介绍
    [Spring入门学习笔记][创建网站URL]
    [spring入门学习笔记][spring的IoC原理]
    [J2EE学习][post,get乱码处理]
    [J2EE框架][Debug]
    [SQL学习笔记][用exists代替全称量词 ]
    [Spring入门学习笔记][Spring Boot]
    [Spring入门学习笔记][maven]
  • 原文地址:https://www.cnblogs.com/heshaochuan/p/6032763.html
Copyright © 2020-2023  润新知