2020.5.15
- str内置函数
- find、lfind、rfind、index(如果找不到会报错)
- startswith、endswith、
- isupper、islower(汉字字符不属于大写,也不属于小写)
- format
- strip、lstrip、strip去掉字符串两端的空格
- list内的数据可以是多种数据类型,注意,1、["lixiang"]与list("lixiang")的结果是不一样的;2、切片操作:左包括,右不包括
-
l=["123",1,{"1":2}] print(l) ['123', 1, {'1': 2}] s = "lixiang" print([s]) ['lixiang'] print(list(s)) ['l', 'i', 'x', 'i', 'a', 'n', 'g']
-
- 模块的使用
- 语法:
- import module_name
- from fodule_name import function_name
- 语法:
- 命名空间和作用域
-
Python 会智能地猜测一个变量是局部的还是全局的,它假设任何在函数内赋值的变量都是局部的。
因此,如果要给函数内的全局变量赋值,必须使用 global 语句。
#命名空间和作用域 money = 100 def addmoney(): global money money = money + 100 print(money) addmoney() 结果: 100 200
-
- 包就是文件夹,但该文件夹下必须存在 __init__.py 文件, 该文件的内容可以为空。__init__.py 用于标识当前文件夹是一个包。
- file
-
#由于文件读写时,有可能出现IOError,所以要用try,finally #write(),read() 方法默认是写入到当前 .py 同文件夹下面的,此外 w+ 的使用方法:不能直接 write() 后,在进行读取,这样试读不到数据的,因为数据对象到达的地方为文件最后,读取是向后读的,因此,会读到空白,应该先把文件对象移到文件首位 try: f = open("forwrite.txt", "w+") f.write("hello,xuxu,I am mama") s = f.tell() f.seek(0,0) str = f.read() print(str) finally: if f: f.close()
-
- #同时遍历多个列表zip
-
l1 = ["name","age","question"] l2 = ["xuxu","3","how old are you "] for a,b in zip(l1,l2): print("what is your {0} ? It is {1}".format(a,b))
-
- 要按顺序遍历一个序列,使用set去重,使用 sorted() 函数返回一个已排序的序列,并不修改原值:
-
l = [1,2,3,4,3,2,1,2,3] l2 = sorted(set(l)) print(type(l2)) print(l2) print(type(set(l))) <class 'list'> [1, 2, 3, 4] <class 'set'>
-
- 有两种方式输出一个平方与立方的表,字符串对象的 rjust() 方法, 它可以将字符串靠右, 并在左边填充空格;在 : 后传入一个整数, 可以保证该域至少有这么多的宽度。 用于美化表格时很有用。s
-
for i in range(1,11): print('{0:2d}{1:3d}{2:4d}'.format(i,i**2,i**3)) for i in range(1,11): print(repr(i).rjust(2),repr(i**2).rjust(3),repr(i**3).rjust(4))
-
- 线程、进程
- 多进程完成多任务,多进程实现多任务,进程与进程之间是相互独立的,是不共享全局变量的,需要复制一份代码,开销大
- 线程依赖进程,也可以一个进程里有多线程完成多任务,同一个进程里,线程之间是共享资源的,存在资源竞争,都想修改同一个变量,有线程安全问题
- python文件读写https://www.cnblogs.com/ymjyqsx/p/6554817.html
-
with open('/path/to/file', 'r') as f: print(f.read())
-
with open('/Users/michael/test.txt', 'w') as f: f.write('Hello, world!')
-
- 类:
- 在类的内部,使用 def 关键字来定义一个方法,与一般函数定义不同,类方法必须包含参数 self, 且为第一个参数,self 代表的是类的实例。def speak(self):
- __name,像这种,以2个下划线开始的变量,为私有变量,只能在类内部访问,不能在类外边访问
-
python进阶教程https://blog.csdn.net/wyBluewind/article/details/49386829
-
Python继承:
总是从某个类继承,如果没有合适的类,就需要从object类继承
不要忘记调用super().__init__
class Person(object):
def __init__(self,name,gender):
self.name=name
self.gender=genderclass Student(Person):
def __init__(self,name,gender,score):
super(Student,self).__init__(name,gender)
self.score=score
-
s.isdigit、isdecimal 和 s.isnumeric 区别
isdigit()
True: Unicode数字,byte数字(单字节),全角数字(双字节)
False: 汉字数字,罗马数字,小数
Error: 无
isdecimal()
True: Unicode数字,,全角数字(双字节)
False: 罗马数字,汉字数字,小数
Error: byte数字(单字节)
isnumeric()
True: Unicode 数字,全角数字(双字节),汉字数字
False: 小数,罗马数字
Error: byte数字(单字节)
num = "1" #unicode num.isdigit() # True num.isdecimal() # True num.isnumeric() # True num = "1" # 全角 num.isdigit() # True num.isdecimal() # True num.isnumeric() # True num = b"1" # byte num.isdigit() # True num.isdecimal() # AttributeError 'bytes' object has no attribute 'isdecimal' num.isnumeric() # AttributeError 'bytes' object has no attribute 'isnumeric' num = "IV" # 罗马数字 num.isdigit() # False num.isdecimal() # False num.isnumeric() # False num = "四" # 汉字 num.isdigit() # False num.isdecimal() # False num.isnumeric() # True