1.不需要semicolon(分号);
2.indentation(缩进)代替{};
3.变量不需要声明 declare type(数据类型),可以直接赋值。
1.不需要格式符号%d,%f…
2.字符串可以用 一对单引号或者一队双引号标注。(符合都是英文输入法下输入)
3.每次print执行完之后,都会默认换行。
print("hello worid",end='')#end=规定打印结束用什么来结尾 print('ho')4.一个print函数打印多个字符串
print(a, b, c) #默认字符串用空格隔开 print("hello" * 3) #打印“”里面的内容3次 print("hello"+"world")#把两个字符串加起来5.打印特殊符号
print("hello\\")#打印字符串里面的' " \n \t 或者位于句末的 \ 时(转义字符) 结果:hello\ string = r'\n\t'#加上 r 会自动给字符串所有 \(不包括句末的)转义 print(string) 结果:\n\t6.打印多行字符串,使用三个单引号或者三个双引号
print('''hello world''')#打印结果会自动换行 结果:hello world1.三元操做
s = a if a < b else b#如果a<b,则s=a,否则s=b2.其它用法
写在else里面的代码只有循环结束之后才会运行,中间有break,会直接退出,不运行else后面的代码。
for i in l:#表示一个循环 i在l里面循环 if i == 1: break else: print("l列表的长度为2")else也可以和try语句一起使用,如果try语句没有抛出异常(exception),则运行else里面的语句。
try: raise OSError exception OSError: print('Error') else: print('NO error')1.逻辑运算符
&& 和 || 或者 ! 非2.算术运算符
#/ :数学意义上的除法 #//:为下限除法,操作数为小数,结果依然为整数3.比较符 < > 等
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pUKv9Vaj-1593847072144)(D:\python\python\python资源\老师ppt\图解\Python的表达式.png)]
1.序列(sequence):列表、元组、字典 有序可变序列:列表list
#1.创建: list = []#创建空列表 list1 = [1,2,3,4,5,6]#从0开始有序 #2.修改:list[index] = 修改值 list1[0] = 2 #3.添加元素 append(element) extend(list) insert(index,element) list1.append(3)#追加一个元素3,列表最后位置,一次只能追加一个 list1.extend([0,2,4])#相当于list3 = list1 + [0,2,4] list1.insert(0,'hello')#将一个元素放到指定的位置 #4.删除元素:remove(elemt) pop(index) list1.remove(0)#删除元素0 list1.pop(3)#删除在index(序号或者索引在3这个位置的元素,并返回这个元素) #5.切片(slice) [start:stop:step] list5 =list1[1:3]#截取index从1到3不包含3的元素 list6 = list1[1:9:3]#截取index从1 到9 不包含9的元素,步长为3 list7 = list1[:]#copy #6.比较 list1 == list2#只有所有元素相同时才为true list1<list2#比较第一个不相同的元素 #7.检查是否有一个元素 if "hello" in list1: print('yes') #8.计数给定元素出现次数 list1.count(1) #9.一个元素第一次出现的index list1.index('hello',3,7)#返回hello这个元素在[3,7)内第一次出现的位置 #10.倒序 list1.reverse() #11.排序 list1.sort()[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YI1k1Qur-1593847072148)(D:\python\python\python资源\老师ppt\图解\Python的列表.png)]
有序不可变序列:元组tuple
#空元组 tuple = () tuple1 = (0,1,2,4) tuple2 = (1,)#必须加逗号 tuple3 = tuple3*2 tuple4 = tuple[:2] + ('hello',) + tuple3 ####元组的值不能修改 添加只能赋值如tuple4 排序用sorted 查找用index(index) 取元素 tuple4[3] ## 元组去重 变成集合 set(tuple1) ##解包 a,b,c = tuple1[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gdZCiqzH-1593847072151)(D:\python\python\python资源\老师ppt\图解\Python的元组.png)]
无序可变序列:字典dict
#创建 key是唯一的 操作key来操作dict 通过输入key,来获取,或者重新赋值,相对应的某个value。 #可以使用in 和not in,但是查找的是key,不是value。 d = {}#空字典 dict = {'key':value} dict1 = {'apple' : '🍎', 'banana' : '🍌', a : b, 1 : 2} #或者 dict1 = dict( ( ('apple', '🍎'), ('banana', '🍌'), (a, b), (1 , 2) ) ) print(dict1['apple']) print(dict1[a]) print(dict1[1]) dict1['apple'] = 苹果 #重新赋值 #如果apple这个key不存在,python会自动创建一个item ###fromkeys(),创建一个新的dict。可以用在如果在这个字典里所有keys都对应同样的value时。 ###keys(), 返回dict里面的所有keys。一般用在for里面。类似的还有values(), items() ###get(),可以自定义,当access一个不存在的key时,返回的值。 ###clear(),清空一个字典。彻底清除这一个指针(e.g. dict1)所指向的数据。 ###pop(key),返回,输入的key所对应的value,并且删除整个item ###popitem(), 随机删除并返回一个item ###setdefault(key, value) 在这个字典里添加一个item ###update(dict),用一个字典来更新另外一个。(只更新两个字典中都有的key,所对应的value)[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dJWNP6Sk-1593847072155)(D:\python\python\python资源\老师ppt\图解\Python的字典.png)]
2.集合set
#集合是无序 不支持index索引 可以增删元素 支持in, not in,集合元素不重复 set = {}#空集合不能这样定义 字典能这样定义 s = set([])#空集合 set1 = {1, 3, 4, 2, 5, 4} #没有映射关系 #或者 set1 = set([1, 3, 4, 2, 5, 4]) #set()可以接收list, tuple, string print(set1) #创建一个不能修改的函数 frozenset s2 = forzenset(0,1,3,4,2,5)[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-e8fn9HH1-1593847072160)(D:\python\python\python资源\老师ppt\图解\Python的集合.png)]
3.字符串
字符串可以做的事情,查找时顺序(左到右 :0开始,第一个位置),逆序(右到左:-1开始,最后一个位置)
改变大小写居中,左对齐,右对齐 字符串判断字符串是否以sub string结束/开始判断字符串里有无数字,字母,大小写,title(首字母大写)用指定的字符串,分隔当前字符串去掉/替换 字符串中指定的sub string格式化字符串:按照规定的格式输出字符串format
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LLA8vN4I-1593847072161)(D:\python\python\python资源\老师ppt\图解\Python的数据输入与输出.png)]
简单叙述可能的操作:
.close() 关闭文件 要及时关闭文件,否则写入的内容会停留在缓冲区,并没有真正的存入文件里面 .read() 按照字符个数读取,返回文件内容。默认读取全部内容。 .readline() 按照行数读取 .tell() 返回文件指针的位置 in bytes! .seek ()移动文件指针 .list() 可以直接将文件的内容变成一个list
在for里面,甚至可以直接将文件当作一个sequence使用:
#假设有个文本文件file 已经打开 for line in file: print(line) #.write() 写入字符串 #.writeline() 写入字符串sequence从文件中写入,读取的数据都是字符串。如果要写入/读取的数据类型不是字符串,可以通过int, float等来转换,或者如果数据类型不容易转换的话,可以使用pickle模块(见模块)。
with语句:使用with语句就不用自己来关闭文件
with open('file name','打开方式') as 变量名: 执行文件操作[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JPF6FQmp-1593847072162)(D:\python\python\python资源\老师ppt\图解\Python的文件.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Cimqhaxj-1593847072164)(D:\python\python\python资源\老师ppt\图解\Python的系统函数.png)]
通过import模块,可以使用里面已经定义的函数和变量。
import random random_num = random.randint(0, 10) #或者 import random as r random_num = r.randint(0, 10) from random import * #执行这个操作,可以直接使用里面的所有变量/函数,不需要加上random.randint,可以直接使用randint from random import randint #可以直接使用randint为了使代码更加的简洁,也可以将一些数据(列表,字典)保存到一个单独的文件,方便调用。
OS 操作系统 使用这个模块,可以进行重命名文件,删除创建文件及目录等操作
pickle 方便不是字符串的数据,以二进制的方式,读取/写入到文件。
#写入数据 import pickle student_file = open('student.pkl', 'wb') #以二进制的方式打开,文件后缀写成pkl方便理解 pickle.dump(list1, student_file) student_file.close() #读取数据 import pickle student_file = open('student.pkl', 'rb') list2 = pickle.load(student_file) student_file.close()命名规则:ExceptionName
程序可能会出现很多种异常 (e.g. ValueError, OSError),针对异常作出相应的反应,就会用到try语句
try语句
如果出现了指定的异常,不会显示原有的traceback语句,而是只会执行except的代码
try: 要执行的代码 except 指定的异常 [as 变量]: #这个变量用来存放出错的具体原因 如果出现指定的异常,需要执行的代码 [finally: 不管出不出现异常,都必须执行的代码。 (一旦出现异常,程序会自动调到对应的except语句中,try里面的一些代码可能不会被执行) try: with open('test.txt', 'r') as file1: str1 = file1.read(5) except OSError as reason: print('文件出错,具体原因为:' + str(reason)) finally: print('exiting...')自己创造一个异常:
raise exception [( ‘注释’ ) ]
raise OSError('要读取的文件不在!')[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TxrXWdtZ-1593847072165)(D:\python\python\python资源\老师ppt\图解\Python的异常处理.png)]
命名规则:ClassName
类包含一系列的变量和函数 避免变量与函数重名,否则变量会覆盖函数。
class Car():#如果在定义的时候,把其他的类当作参数放进来,那么可以继承这个类的所有变量或者函数 #变量 name = 'carro' color = 'red' #函数 def calculate_speed(self, distance, time): speed = distance / time print('%s is travelling at %f m/s' % (self.name, speed)) # 除了在定义变量的部分,使用变量的话,都需要明确是哪一个对象(e.g. self.name而不是name)类理解为一个模版,对象object则是这个模版刻出来的一个物品。
名规则:ClassName
类包含一系列的变量和函数 避免变量与函数重名,否则变量会覆盖函数。
class Car():#如果在定义的时候,把其他的类当作参数放进来,那么可以继承这个类的所有变量或者函数 #变量 name = 'carro' color = 'red' #函数 def calculate_speed(self, distance, time): speed = distance / time print('%s is travelling at %f m/s' % (self.name, speed)) # 除了在定义变量的部分,使用变量的话,都需要明确是哪一个对象(e.g. self.name而不是name)类理解为一个模版,对象object则是这个模版刻出来的一个物品。