zoukankan      html  css  js  c++  java
  • python基本语法学习

    前言:

    1、python是解释型语言

    2、尽量使用python3。2014年的时候python官方宣布2.7支持到2020年,以后不会再发行2.8版本,尽快把程序迁移到3.x版本

    基本语法:

    1、变量

    和C 等语言不一样,python定义语言时,不需要事先制定变量类型

    变量名只能是 字母、数字或下划线的任意组合

    变量名的第一个字符不能是数字

    系统使用的关键字不能声明为变量名

    2、输入

    输入:input("请输入:").strip() --接受输入字符串,并去掉头尾空格和换行符

    3、条件判断

    4、循环

    注意break、 continue的使用

    5、格式化输出

    输出:print('%s 占位符 %s'%(变量1,变量2)

    具体可以参考牛牛杂货铺的文章

    http://www.nnzhp.cn/archives/131

    6、数据类型

    • int
    • float
    • bool
    • 列表
    print(lis[:11:2]) #最后一个参数叫 步长  ,如果步数为正数,从左往右取值
    print(lis[::-1]) #列表反转 ,但不会改变原来list的值;步数为负数,从右往左开始取值
    print(lis[::-2])
    print(lis.reverse()) # 也反转,会改变原来list 的值
    • 元组tuple
    words = (1)   #还是int
    word2 = (1,) #如果元组里面只有一个元素,那么必须在这个元素后面加一个逗号
    word2.index(1)
    word2.count(1) #元组只有这两个方法
    • 字典dic

    字典的特性:
    字典是无序的,因为它没有下标,用key来当索引,所以是无序的
    字典的key必须是唯一的,因为它是通过key来进行索引的,所以key不能重复,天生就去重

    增:

    # 增加
    # infos['phone']= 123456
    # print(infos) #字典是无序的
    # infos.setdefault('小金库','200')

    # infos.setdefault('name','liu') # 如果key存在,不会修改之前的值
    # print(infos)
    # infos['name'] = 'pengmm' # 中括号如果key存在,之前的值是能修改的
    # print(infos)

    修改只有一种方式
    # infos['name'] = 'liuy'

    删:
    # infos.pop('name')
    # print(infos)
    #
    # infos.popitem() #随机删除一个key
    # print(infos)
    # del infos['小金库']
    # print(infos)
    # infos.clear() #清空字典

    内置方法:
    print(infos.values())  #所有的values 放到一个 list 里
    print(infos.keys()) #所有的key放到list里
    print(infos.items()) #字典转换成一个list,例如[('addr', 'chanpging'), ('name', 'zll'), ('age', 888)]

    字典循环:
    dic = {'stu1':'cc','stu2':'andashu','stu3':'niuniu'}
    for k in dic:
    print(k,dic[k])#打印key和value的值,推荐使用这种方式,速度快
    for k,v in dic.items():
    print(k,v)#打印key和value的值,这种方式不推荐,因为会把字典转换成列表,效率不高
    • 字符串string
    # a = '   字  符  串  
    
    
    '
    # c = a.strip() #不传,删除空格和回车
    # print('c..',c)
    # print('a..',a)
    #
    #words = 'HTTPS://day is a wonderfulday '
    # # print(words.strip('day')) #删除前后指定的字符。后面如果有空格,则只删除空格,不会再次删除day
    # # print(words.count('a')) #字符串中该字符出现的次数
    # # print(words.index('is')) #找下标,如果元素找不到的话,会报错
    # #
    # # print(words.find('z')) # 返回-1,不会报错
    # print(words.find('is')) #查找字符串的索引
    # # print(words.replace('day','DAY'))
    title = 'This Is A Title'
    print(title.capitalize()) #首字母大写,其他单词的首字母为小写
    print(title.istitle()) #是否为标题,所有单词的首字母都需要为大写

    # print(words.center(50,'*')) #字符加分隔符(*)一共50个,然后字符放中间
    # print(words.startswith('HTTPS')) #是否以字符开头,返回true 或false
    # print(words.endswith('day1')) #是否以字符结尾
    username = 'aAABBcede1 ss ss ss ww'
    # print(username.expandtabs(16))
    #当使用字符串的这个expandtabs函数时,默认8个字符为1个Tab,
    # expandtabs函数会把字符串中转义字符 转化成空格,且从字符串的开头开始算起,以8位为1个循环,而不是简单地用8个空格来替代 ,
    # 倘若在这8个位里有之前原始的字符串里的字符,则不用空格替换,不够8位的时候才用空格去补充。括号里指定代替的空格数,例如16代替8。

    # print(username.isalpha()) #是否全为数字
    # print(username.isalnum()) #只要有字母或数字都行
    # print(words.isdigit()) #是否全为数字

    # name = 'my name is {name},my age is {age}'
    # print(name.format_map({'name':'niuniu','age':19})) #格式化字符串,字符串里的变量名 须和字典中的key 一致
    #
    # print(username.lower()) #变成小写
    # print(username.upper()) #变成大写
    # print(username.islower()) #是否全为小写
    # print(username.isupper()) #是否全为大写

    print('*'.join(['this','is','a','string']))

    p = str.maketrans('abcdefg','1234567')#前面的字符串和后面的字符串做映射
    print('cc ae gg'.translate(p))#输出按照上面maketrans做映射后的字符串, 结果 = 33 15 77
    #下面是反解
    new_p = str.maketrans('1234567','abcdefg')
    print('33 15 77'.translate(new_p))

    print('mysql is db.'.replace('mysql', 'oracle', 1)) # 替换字符串
    print('mysql is is db'.rfind('is')) # 返回最右边字符的下标
    print('1+2+3+4'.split('+')) # 切割字符串,返回一个list
    print('1+2+3 1+2+3+4'.splitlines()) # 按照换行符分割
    print('Abcdef'.swapcase()) # 大小写反转
    • 集合

    交集

    合并

    差集

  • 相关阅读:
    sqlite 修改 id 自增值
    欧拉图与哈密顿图12:22
    nps 配置 vnc内网穿透
    0 范数、1 范数、2 范数有什么区别?
    相关测试
    golang学习笔记---channel(通道)
    golang学习笔记---pflag包
    Nginx+Keepalived配置Nginx自动启动和7*24不间断服务
    Keepalived+Nginx双机主备配置实践
    虚拟机中使用域名通过宿主window访问
  • 原文地址:https://www.cnblogs.com/liuyanerfly/p/8617988.html
Copyright © 2011-2022 走看看