zoukankan      html  css  js  c++  java
  • Python-02 基础语法

    1 Python pass语句

    Python pass 是空语句,是为了保持程序结构的完整性。
    
    pass 不做任何事情,一般用做占位语句。
    

    测试案例

    # Author :liqiang
    
    for item in "gavin":
        if item=='a':
            pass
            print("这是pass块")
        print("当前代码是: %s" %item)
    

    2 Python Number

    python 支持四种不同的数值类型

    分别是: int long float complex(复数,不常用)

    python number类型转换

    API如下:

    int(x [,base ])         将x转换为一个整数  
    long(x [,base ])        将x转换为一个长整数  
    float(x )               将x转换到一个浮点数  
    complex(real [,imag ])  创建一个复数  
    str(x )                 将对象 x 转换为字符串  
    repr(x )                将对象 x 转换为表达式字符串  
    eval(str )              用来计算在字符串中的有效Python表达式,并返回一个对象  
    tuple(s )               将序列 s 转换为一个元组  
    list(s )                将序列 s 转换为一个列表  
    chr(x )                 将一个整数转换为一个字符  
    unichr(x )              将一个整数转换为Unicode字符  
    ord(x )                 将一个字符转换为它的整数值  
    hex(x )                 将一个整数转换为一个十六进制字符串 
    oct(x )                 将一个整数转换为一个八进制字符串  
    

    math模块

    Python math 模块提供了许多对浮点数的数学运算函数。

    使用math模块需要导入该模块

    import math
    dir(math)
    

    cmath模块

    Python cmath 模块包含了一些用于复数运算的函数。

    使用cmath模块需要导入该模块:

    import cmath
    dir(cmath)
    

    math和cmath模块的区别:

    cmath 模块运算的是复数,math 模块运算的是数学运算

    Python数学常用函数

    函数 返回值描述
    abs(x) 绝对值
    ceil(x) 向上取整
    exp(x) 返回e的x幂
    floor(x) 向下取整
    max(x1,x2...) 返回最大值
    min(x1,x2...) 返回最小值
    pow(x,y) 返回x的y次方
    sqrt(x) 返回x的平方根
    round(x,[n]) 返回浮点数x的四舍五入值,n为小数点后的位数

    Python随机数函数

    函数 返回值描述
    random() 随机生成一个[0,1)的实数
    uniform(x,y) 随机生成一个[x,y]的实数

    3 Python字符串

    在python种,字符串的拼接可以通过"+"来进行拼接,但是使用字符串拼接符的话,效率会低下.少次数拼接可以使用.

    其中关于字符串的方法可以直接使用变量.方法的形式去调用

    总结如下:

    #定义一个字符串进行测试
    str ="gavin"
    str.xxx方法调用即可
    

    具体方法

    方法名称 描述信息 备注
    capitalize() 首字母大写
    center(50,'-') 打印50个字符,长度不够两端用'-'补齐
    ljust(50,'-') 打印50个字符,长度不够左边用'-'补齐
    rjust(50,'-') 打印50个字符,长度不够右边用'-'补齐
    endwith('a') 判断字符以什么结尾,返回布尔值
    expand() tab键转成多少个字符
    find('a') 返回字符所在的索引
    rfind('c') 找到最右边的指定字符的索引
    format(name=xx) 格式化字符串种name的数据 name='gavin{name}'
    format_map({'name':'123') 利用字典的形式格式化数据 传入的值会默认带到name变量中去
    isalnum() 判断是否为阿拉伯数字和字符
    isalpha() 判断是否为纯英文字符
    isdigit() 判断是否为整数 最常用
    isidentifier() 是否是一个合法的标识符变量 返回布尔值
    islower() 是否为小写 返回布尔值
    isupper() 是否为大写 返回布尔值
    isnumeric() 判断是否为整数 返回布尔值
    lower() 转成小写
    upper() 转成大写
    strip() 去掉两端换行符
    lstrip() 去掉左边换行符
    rstrip() 去掉右边换行符
    replace('a','A) 字符串替换 常用
    split(',') 字符串按照指定字符分隔成列表
    splitlines() 按换行符分隔
    swapcase() 大小写相互转化
    title() 驼峰 每个单词首字母大写
    zfill() 用0补齐

    特殊方法

    #join的用法
    print(','.join(['a','b','c'])
    #结果: a,b,c  #将列表转成字符,以逗号分隔
    
    #随机密码-加密解密
    str = "gavin"
    key =str.maketrans('abcde','uuesd')#将abcde映射为uuesd
    print(str.translate(key))
    #结果:guvin
    

    4 Python列表

    列表是最常用的Python数据类型,它可以作为一个方括号内的逗号分隔值出现。

    列表的数据项不需要具有相同的类型。

    创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来即可。

    例如:

    list1 = [1,2,3,'gavin',True,2.3]print(list1)>>>[1, 2, 3, 'gavin', True, 2.3]
    

    列表中数据访问

    # 1 通过下标获取数据 :的使用list1 = [1,2,3,'gavin',True,2.3]print(list1[0:2])#取索引为0-2的元素,但不包括索引为2的元素print(list1[-2:])#从倒数第二个取出后面所有print(list1[:2])#从索引为0开始取元素,但不包括索引为2的元素print(list1[-1])# 表示取最后一个元素
    

    列表元素新增

    list2 = ['000']list2.insert(0,'ppx')#将ppx插入到索引为0的位置,list2.append('lqy')#追加list2.append('lq')#追加print(list2)
    

    列表元素修改

    元素的新增也属于列表的修改

    当然也可以对现有的元素进行修改

    list2=['ppx', '000', 'lqy', 'lq']list2[1]='123'print(list2)
    

    列表元素删除

    列表中元素的删除有三种方法

    方法1:直接删除指定元素

    list2=['ppx', '123', 'lqy', 'lq']list2.remove('123')>>>['ppx', 'lqy', 'lq']
    

    方法2:按下标删除

    list2 = ['ppx', 'lqy', 'lq']del  list2[0]>>>['lqy', 'lq']
    

    方法3:不指定参数弹出最后一个(也可以指定下标弹出元素)

    list2=['lqy', 'lq']list2.pop() #等价于list2.pop(1) >>>['lqy']
    

    列表元素查找

    可以通过index方法查找指定元素的索引,然后通过中括号的方式寻找元素

    list2=['ppx', '123', 'lqy', 'lq']index =list2.index('lqy')print(index)temp =list2[index]print(temp)>>>lqy
    

    列表元素清空

    直接调用clear()方法可以清空列表数据

    list2=['ppx', '123', 'lqy', 'lq']list2.clear()print(list2)>>>[]
    

    列表元素排序

    对列表进行排序,反转

    list2=['ppx', '123', 'lqy', 'lq']list2.sort()print(list2)>>>['123', 'lq', 'lqy', 'ppx']#默认是升序排序
    

    列表反转:将列表中的数据反转过来

    list2=['ppx', '123', 'lqy', 'lq']list2.reverse()print(list2)>>>['lq', 'lqy', '123', 'ppx']
    

    列表合并

    可以对两个列表进行合并

    list2=['ppx', '123', 'lqy', 'lq']temp= [1,2,3,4]list2.extend(temp)print(list2)>>>['ppx', '123', 'lqy', 'lq', 1, 2, 3, 4]
    

    列表元素循环

    对列表中的元素进行遍历

    for item in list2:#只遍历元素    print(item)for index,item in enumerate(list2):# 可以同时遍历元素和索引    print(index,item)
    

    列表切片

    可以对列表中的元素进行切片,并且可以指定步长

    list2=['ppx', '123', 'lqy', 'lq']temp=list2[0:-1:2]# 2代表步长print(temp)>>>['ppx', 'lqy']
    

    列表拷贝

    列表的拷贝分为浅拷贝和深拷贝

    浅拷贝只是拷贝内存地址

    深度拷贝的话则完全独立拷贝一份数据

    例如:

    import copya = [1, 2, 3, 4, ['a', 'b']]  # 原始对象b = a  # 赋值,传对象的引用c = copy.copy(a)  # 对象拷贝,浅拷贝d = copy.deepcopy(a)  # 对象拷贝,深拷贝a.append(5)  # 修改对象aa[4].append('c')  # 修改对象a中的['a', 'b']数组对象a[0]=9print('a = ', a)print('b = ', b)print('c = ', c)print('d = ', d)
    

    运行结果:

    a =  [9, 2, 3, 4, ['a', 'b', 'c'], 5]b =  [9, 2, 3, 4, ['a', 'b', 'c'], 5]c =  [1, 2, 3, 4, ['a', 'b', 'c']]d =  [1, 2, 3, 4, ['a', 'b']]
    

    注:也就是说深度复制的话,是完全重新再创建一个新的对象,而浅拷贝的话只是复制了当前对象的地址,改变外层不会影响复制的列表,但是改变内层的数据,则复制的列表也会随之改变.

    列表脚本操作符

    表达式 结果 描述
    len([1,2,3,4]) 4 返回长度
    [1, 2, 3] + [4, 5, 6] [1, 2, 3, 4, 5, 6] 列表组合,类似字符串拼接
    ['Hi!'] * 4 ['Hi!', 'Hi!', 'Hi!', 'Hi!'] 列表元素重复
    3 in [1, 2, 3] True 判断元素是否在当前列表

    列表常用函数

    函数名 描述
    len(list) 列表的长度
    max(list) 返回列表的最大值
    min(list) 返回列表的最小值
    list(seq) 将元组转化为列表

    5 Python元组

    在python中,元组和列表基本类似

    不同之处:

    1.元组中的数据不可以别修改,

    2.元组使用的是小括号,列表使用花括号

    元组创建

    元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可。

    tuple=(1,2,3,4,5)
    

    元组元素访问

    元组中元素的访问和列表一样,并且可以截取元组

    print(tuple[1:4])# 打印元组第二到第四个元素(一个元组)print(tuple[-1])#打印最后一个元素print(tuple[-2:])#从倒数第二个开始打印元组print(tuple[2:])# 从索引为2的位置打印元组
    

    元组修改

    由于元组不可以修改,所以一旦创建后就不能改变.但是元组可以进行拼接,并且元组中的数据可以重复.

    tuple=(1,2,3,4,5)tuple2 = (7,8,9,2)tuple3 = tuple+tuple2print(tuple3)>>>(1, 2, 3, 4, 5, 7, 8, 9, 2)
    

    元组删除

    元组中的元素是不可以删除的,但是可以使用del语句删除整个元组,此时打印该元组的话,就会报该元组未定义

    del tuple3print(tuple3)>>>name 'tuple3' is not defined
    

    元组脚本操作符

    表达式 结果 描述
    len([1,2,3,4]) 4 返回长度
    (1, 2, 3)+ (4, 5, 6) (1, 2, 3, 4, 5, 6) 元组组合,类似字符串拼接
    ('Hi!',) * 4 ('Hi!', 'Hi!', 'Hi!', 'Hi!') 元组元素重复
    3 in (1, 2, 3) True 判断元素是否在当前元组

    元组内置函数

    函数名 描述
    len(tuple) 元组的长度
    max(tuple) 返回元组的最大值
    min(tuple) 返回元组的最小值
    tuple(seq) 将列表转化为元组

    6 Python字典

    ​ 在python中,所谓字典就是一种key-value结构的数据类型的容器,k-称为是一个键值对,每个键值对使用:分隔,而每个键值对使用,分割,而一个字典则用一个大括号{}表示.用来存储任意类型的对象.

    注意:

    1 在字典中,key(键)一般是唯一的,如果键一致,则后面会覆盖前面2 在字典中,value(值)可以不唯一,并且可以是任何的数据类型3 键必须是不可以变的,值则可以取任何类型4 由于键值是不可变的,所以不可以使用列表来表示键5 字典是无序的,key必须是唯一的,so 天生去重
    

    字典创建

    person = {    "name":'gavin',    "sex":"男",    "age":25,    "birthday":'2021-01-01'}
    

    字典元素查询

    查找元素的时候有两种方式

    方式一:[]

    person['name']# 注意,如果字典中没有对应的key,则会报错
    

    方式二:.get()

    person.get('name')>>>gavin#注意:如果没有对应的key,则返回None,一般获取元素使用该方式比较稳妥
    

    字典元素修改

    修改字典,通过key来修改,若修改的key不存在,则变为对字典中key-value键值对的添加操作

    person = {    "name":'gavin',    "sex":"男",    "age":25,    "birthday":'2021-01-01'}person['birthdy']='1996-06-29'person['hobby']='lqy'print(person)
    

    运行结果:

    {'name': 'gavin', 'sex': '男', 'age': 25, 'birthday': '2021-01-01', 'birthdy': '1996-06-29', 'hobby': 'lqy'}
    

    合并更新

    b={'name':'colby','age':'29','height':'75Kg'}person.update(b)#存在就更新,不存在就新增
    

    字典元素新增

    字典中对键值对的添加操作就是一个简单的赋值

    person['ppp':'xxx']
    

    字典元素删除

    删除字典可以直接删除整个字典,也可以根据key来删除对应的键值对

    del person # 删除字典person.clear()#清空字典所有记录del person['name']#删除字典中key为'name'的键值对
    

    安全删除法

    del person.get('name')
    

    字典内置函数

    函数名 描述
    len(dict) 字典的键的总数
    str(dict) 输出字典可打印的字符串表示
    type(dict) 返回输入的变量类型

    字典常用方法

    函数名 描述
    dict.values() 打印所有值
    dict.keys() 打印所有键
    dict.setdefault('name','age') 存在就显示,不存在就新增一个值
    dict.item() 字典转化为列表
    dict.formkeys([2,3,4],"test") 字典初始化

    测试setdefault方法

    #不存在则新增b={'name':'colby','age':'29','height':'75Kg'}p =b.setdefault('ppp','test')print(b)>>>{'name': 'colby', 'age': '29', 'height': '75Kg', 'ppp': 'test'}#存在则显示b={'name':'colby','age':'29','height':'75Kg'}p =b.setdefault('name')print(b)>>>{'name': 'colby', 'age': '29', 'height': '75Kg'}
    

    字典循环

    在字典中有两种循环方法

    方法一:高效,建议使用

    for item in person:    print(person[item])
    

    方法二:效率低,不建议使用

    for k,v in person.items():    print(k,v)
    
  • 相关阅读:
    vue比较模板来跟新数据
    iframe自适应高度
    springmvc接口ios网络请求
    spring mvc实现接口参数统一更改
    spring mvc实现自定义注解
    基于redis集群实现的分布式锁,可用于秒杀,定时器。
    java使用javax.mail进行免费的邮件发送
    前端图片压缩上传(纯js的质量压缩,非长宽压缩)
    java项目中的路径获取,request
    阿里云(腾讯云类似)服务器控制台配置开放所有的端口
  • 原文地址:https://www.cnblogs.com/liqbk/p/15116446.html
Copyright © 2011-2022 走看看