博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python之路——琐碎知识
阅读量:7095 次
发布时间:2019-06-28

本文共 5399 字,大约阅读时间需要 17 分钟。

一、 __future__ 模块

Guido van Rossum (Python之父)拥有一架时光机,因为在人们通常要求增加语言新特性的时候,这个特性通常都已经实现了。当然我们一般人是不允许进入这架时光机的。

Guido将时光机的一部分以__future__这个模块的形式融入了python。通过它可以导入那些在未来会成为标准Python组成部分的新特性。

 

二、 逻辑运算

'''x or y x True,则返回x'''

>>> print(1 or 2)1>>> print(2 or 1)2>>> print(0 or 1)1>>> print(2 or 0)2

'''x and y x True,则返回y'''

>>> print(0 and 2)0>>> print(2 and 0)0>>> print(1 and 2)2>>> print(2 and 1)1
# “>","<"的优先级高于not > and > or ,True 和 False 不会转化为1或0>>> print(2 or 1<3)2>>> print(1<3 or 2)True>>> print(1>3 and 2)False>>> print(1<3 and 2)2>>> print(True or 0)True>>> print(True and 0)0>>> print(False or 2)2>>> print(False and 2)False

三、 格式化输出

格式一:

1 name = input("请输入姓名:") 2 age = input("请输入年龄:") 3 height = input("请输入身高:") 4 msg = "my name is %s, my age is %s, my height is %s, my process is 80%%" %(name,age,height) 5 print(msg) 6 # 运行结果: 7 # 请输入姓名:liuyankui 8 # 请输入年龄:25 9 # 请输入身高:17510 # my name is liuyankui, my age is 25, my height is 175, my process is 80%
View Code

格式二:

1 name = input("请输入姓名:") 2 age = input("请输入年龄:") 3 job = input('请输入工作:') 4 hobbie = input('请输入爱好:') 5 msg = '''------------ info of %s ----------- 6 Name  : %s 7 Age   : %d 8 job   : %s 9 Hobbie: %s10 ------------- end -----------------''' %(name,name,int(age),job,hobbie)11 print(msg)12 # 输出结果13 # 请输入姓名:liuyankui14 # 请输入年龄:2515 # 请输入工作:IT16 # 请输入爱好:PingPong17 # ------------ info of liuyankui -----------18 # Name  : liuyankui19 # Age   : 2520 # job   : IT21 # Hobbie: PingPong22 # ------------- end -----------------

格式三:

1 name = input("请输入姓名:") 2 age = input("请输入年龄:") 3 job = input('请输入工作:') 4 hobbie = input('请输入爱好:') 5 msg = '''------------ info of {0} ----------- 6 Name  :{0} 7 Age   : {1} 8 job   : {2} 9 Hobbie: {3}10 ------------- end -----------------''' .format(name,age,job,hobbie)11 print(msg)12 13 # 运行结果:14 # 请输入姓名:liuyankui15 # 请输入年龄:2516 # 请输入工作:IT17 # 请输入爱好:PingPong18 # ------------ info of liuyankui -----------19 # Name  :liuyankui20 # Age   : 2521 # job   : IT22 # Hobbie: PingPong23 # ------------- end -----------------

四、 int 和bool值互相转换

int  ----> bool   非零转换成bool True   0 转换成bool 是False

1 >>> print(bool(2)) 2 True 3 >>> print(bool(1)) 4 True 5 >>> print(bool(0)) 6 False 7 >>> print(bool(-2)) 8 True 9 # bool ----> int   False ----> 0; True ----> 110 >>> print(int(False))11 012 >>> print(int(True))13 1

 

五、 while...else...语句

count = 0while count <= 5:    count += 1    if count == 3:break    print("Loop",count)else:   # 当break打断while循环,else的内容就不再执行    print("循环正常执行了")print("------------------")

 

六、 Python字符串

1 # 字符串 2  3 # 字符串索引 4 a = 'abcdefghijklmn' 5 print(a[0])  # a 6 print(a[3])  # d 7 print(a[-1]) # n 8 print(a[-5]) # j 9 10 # 字符串切片11 # 切片是通过索引(索引:索引:步长)截取字符串的一段,形成新的字符串,12 # 原则就是顾头不顾腚13 a = 'abcdefghijklmn'14 print(a[0:3])   # abc15 print(a[2:5])   # cde16 print(a[0:])    # abcdefghijklmn17 print(a[0:-1])  # abcdefghijklm18 print(a[0:5:2]) # ace19 print(a[5:0:-2])# fdb20 21 # 字符串常用方法22 name = 'liu-yan*kui LIU'23 # 首字母大写24 print(name.capitalize())    # Liu-yan*kui liu25 # 大小写翻转26 print(name.swapcase())      # LIU-YAN*KUI liu27 #每个单词的首字母大写28 print(name.title())         # Liu-Yan*Kui Liu29 30 # 内同居中,总长度,空白处填充31 ret = name.center(30,'-')32 print(ret)33 # 输出:34 # -------liu-yan*kui LIU--------35 36 37 38 # 数字符串中元素出现的个数39 a1 = 'liuyankuiliuyankui'40 print(a1.count('i'))    # 441 print(a1.count('liu'))  # 242 print(a1.count('l',0,12))# 243 44 # \t前面的补全,默认将一个tab键变成8个空格,如果tab前面的字符不足8个,则补全8个,45 # 如果tab键前面的字符长度超过8个不足16个,则补全16个,以此类推46 a2 = 'hfdgdjjlk\tlkj\tlk'47 ret3 = a2.expandtabs()48 print(ret3) # hfdgdjjlk       lkj     lk49 50 a4 = 'jgklajlkajioufgakljsakj'51 # startswith: 判断是否以...开头52 # endswith: 判断是否以...结尾53 ret4 = a4.endswith('ajlk',2,8)  # 顾头不顾腚54 print(ret4) # True55 ret41 = a4.startswith('la',3,9)56 print(ret41)    # True57 58 # 寻找字符串中的元素是否存在59 ret5 = a4.find('kl',2,10) # 返回的是找到的元素的索引,如果找不到返回-160 print(ret5) # 261 62 ret51 = a4.index('aj',4,13) # 返回找到元素的索引,找不到报错63 print(ret51)    # 464 65 # split 以什么分割,最终形成一个列表,此列表不含有这个分割的元素66 ret6 = a4.split('a')67 print(ret6) # ['jgkl', 'jlk', 'jioufg', 'kljs', 'kj']68 ret91 = 'title,Tilte,atre,'.rsplit('t',1) # 从右边开始分割,分割一次69 print(ret91)    # ['title,Tilte,a', 're,']70 71 ret92 = 'title,Tilte,atre,'.rsplit('t',3) # 从右边开始分割,分割3次72 print(ret92)    # ['ti', 'le,Til', 'e,a', 're,']73 74 75 # format的三种玩法,格式化输出76 print('{} {} {}'.format('egon',18,'male'))  # egon 18 male77 print('{1} {0} {1}'.format('egon',18,'male'))    # 18 egon 1878 print('{name} {age} {sex}'.format(sex = 'male',name = 'liuyk',age = 18))    # liuyk 18 male79 80 # strip81 b1 = '--   ***liuyankuih*****   --'82 print(b1.strip('- *'))  # liuyankuih83 print(b1.lstrip(' *-'))  # liuyankuih*****   --84 print(b1.rstrip('* -'))  # --   ***liuyankuih85 86 # replace87 name2 = 'alex say: i have one tesla, my name i alex'88 print(name2.replace('alex','SB',1)) # 1 是只替换一次89 90 name3 = 'liuyankui163'91 print(name3.isalnum())  # 字符串由字母或数字组成92 print(name3.isalpha())  # 字符串只由字母组成93 print(name3.isdigit())   # 字符串只由数字组成
View Code

 

七、 for循环

t1 = 'sdkslflggjad'for i in t1:    print(i)

 八、 小数据池

1 #数字,字符串,小数据池 2 #数字的范围 -5 -- 256 3 #字符串:1,不能含有特殊字符; 4 #        2. s*20 还是同一个内存地址,超过则两个 5 # i1 = 2 6 # i2 = 2 7 # print(i1 is i2) # True 8  9 # s1 = 'a'*2010 # s2 = 'a'*2011 # print(s1 is s2)   # True

 

九、is

1 # = 赋值 == 比较值是否相等   is 比较,比较的是内存地址  id(内容)2 # li1 = [1,2,3]3 # li2 = li14 # li3 = li25 # print(id(li1),id(li2))

 

转载于:https://www.cnblogs.com/liuyankui163/p/8041157.html

你可能感兴趣的文章
46.Haproxy反向代理
查看>>
【初始化-系统时间】init_datetime.sh
查看>>
怎样把开启的服务放到后台?
查看>>
企业的建库脚本(oracle10g)
查看>>
Collection集合 总结笔记
查看>>
oracle学习-数据迁移
查看>>
enqueue lock wait等待事件
查看>>
用本地文件创建本地yum源
查看>>
Windows - mountvl命令使用与说明
查看>>
玩转Google开源C++单元测试框架Google Test系列(gtest)之二 - 断言
查看>>
[JavaScript]3D球状导航的文章分类
查看>>
Android dialog 不消失
查看>>
延迟加载 ERROR org.hibernate.LazyInitializationException:42 - could not initialize proxy - ...
查看>>
基于软件体系结构和构件技术的开发过程
查看>>
C#中访问私有成员
查看>>
excel中COUNTIF的使用
查看>>
php中mysql操作的buffer知识
查看>>
第 6 章 SELinux
查看>>
套接口选项
查看>>
docker~docker-compose和VS解决方案的关系
查看>>