- 字母、下划线作为开头
- 变量名不包含space
- 单双引号都可以用,所以string中灵活包括引号和撇号
- 变量.title() 开头大写 ; .upper() .lower() 方法后面都跟着括号
- 合并string如变量 = 变量 + " " +变量
- 制表符换行符一样
- 删除空白.rstrip()右边空白,.lstrip() .strip()。 如果要改变变量记得赋值。
- +=可以添加字符
- 乘方 **
- 当数字变量转换为字符类型时,尽量使用str(变量)来避免类型错误
- #
- 列表用[ ]表示,逗号分隔
- 索引从0 开始
- 修改列表某项,跟数组一样
- 添加到后面用 .append(xxx)
- 插入到列表 .insert(position,xxx)
- 删除元素
del 变量[x] ;
.pop()如果没有指定position,则删除末尾元素,并且可以赋值给变量
.remove(xxx)根据值删除元素
- .sort()进行永久性排序,也可以传递参数reverse = True进行倒序排序
- sorted()函数进行临时排序,注意是函数
- .reverse() 倒着打印,不是倒序排序
- len()函数确定长度
- for循环
缩进就是在for范围内,每次print都会换行,并且需要冒号
list = ['aa','bb','cc'] for l in list: print(l) print('fuck you')数值列表
- range()函数
如下会打印1到4,不会打印5
for value in range(1,5): print(value)
- list()函数转换为列表
numbers = list(range(1,5))
- 数值统计
min(list) max(list) sum(list)
- 列表解析
如下生成 1到11平方的列表
list = [value**2 for value in range(1,11)]使用列表一部分
- 切片
list[0:3] #打印第1个到第3个,注意这里索引值0 1 2 list[ : 3] #同上,省略就是从头开始 list[-3: ] # -3就是倒数第三个,到最后
- 可以for循环遍历切片,方便
- 复制列表
list = [1,2,3] list_copy = list [ : ] #这个是复制 list_quote = list #这个就是引用,两个名字都是原列表元组
列表是可修改的,元组不可修改
- 定义
用圆括号
tuple = (200,50)
- 修改元组元素
虽然不可以单独修改,但可以重新定义,闲得蛋疼
an example
num = 1 if num == 1 : print('yep') elif num > 1: #阔以多个 print('oops') else: print('nope')
- 判断符号还有> >= < <= !=
- 检查多个语句 and 或者 or
- 检查是否在列表中
bus = [1,2,3,4,5] if 1 in bus: print('yep') if 1 not in bus: print('nope')
- 确定列表不空
bus = [] if bus: print('yep')字典
an example
JEFF = { 'color' : 'tan' , 'height' : 210 } print(JEFF['color'] )使用字典
- 添加键值对
JEFF['weight'] = 200 JEFF['IQ'] = 180
- 修改值
JEFF['color'] = 'white'
- 删除键值对
del JEFF['color']遍历字典
- 遍历所有键值对
for key, value in JEFF.items(): print('n key: " + key) print('n value: " + value) 也可以这样,是自己拟定的 for k , v in JEFF.items():
- 遍历所有键
for name in JEFF.keys():
- 遍历所有值
for name in JEFF.values():
- 按顺序遍历所有键
for name in sorted(JEFF.keys()):嵌套
- 字典和列表组合,列表的元素可以是字典
- 字典中值也可以是列表
- 字典的值也可以是字典,比如人类字典,某某作为keys,那某某信息的字典可以作为值
- example
input的参数是提示的字符串,然后等待用户输入
Jeff = input('Do you think Jeff is handsome or ugly') print(Jeff) # 输出handsome
- 使用int()获得数字输入
age = input('what's your age') #输入数字之后,age其实是字符,所以需要用int()转换 age = int(age)
- 求模运算符%
- 使用及退出
也可以使用一些标志,active = True这些
prompt = 'Enter some words' prompt += 'quit to quit' message = "" while message != 'quit' : message = input(prompt) print(message)
- 使用break也可以退出,使用continue继续
- 无限循环 ctrl+c结束
def func(): print('111') func()
- 传递信息
def func(user): print("hello " + user.title() )
- 关键字实参和默认值(实参形参一般形式略)
def func(f1,f2='col'): print(f1+f2) func(f2 = 'cool' , f1 = 'you are')
- 返回值
def func(f1,f2): f = f1 + f2 return f temp = func('you','me') print(temp)
- 让实参变得可选
def func(f1,f2,f3=''): if f3: print(f1+f2+f3) else: print(f1+f2)
- 可以返回字典
- 可以传递列表
def func(dic): for d in dic: print(dic.title()+' ') dic = ['a','b','c'] fucn(dic)
- 用func(dic[:]) 这样传入的就是dic的副本,有时候一些修改就不会影响到dic
- 传递任意数量def func(zip,*top) 加个星号,这样可以传入1到无数个参数
- 将函数存储在模块中,相当于头文件
#pizza.py def make_pizza(size,*top): ... #makeing_pizzas.py import pizza pizza.make_pizza(10,'jeff')
-
导入特殊函数
from module_name import function1,2,3... -
指定别名
from pizza import make_pizza as mp
import pizza as p -
导入所有函数
from pizza import *
这样就无需使用句号表示法,但是引用别人家的大型模块时,不建议。
- 创建类 class Name(): 首字母大写,类定义括号为空,因为要从空白创建这个类
- ``init()方法
python调用__init__()方法来创建类实例,自动传入实参self,每个与类相关联的方法调用都会自动调用self来指向实例本身引用。
def __init__(self,name,age): self.name = name self.age = age
- 创建实例
class Dog(): snip-- my_dog = Dog('Bobby',2)
访问属性: my_dog.name
调用方法: my_dog.sit()
- 修改属性值
继承
- 直接修改
- 修改属性的方法
class DDog(Dog): def __init__(self,name,age): super().__init__(name,age) self.height = 20
这样DDog就会继承父类的所有属性,也可以自己添加新的属性和方法
- 导入类
from car import Car - 导入多个类
class Car(): --snip-- class Battery(): def __init__(self,battery_size = 80): self.battery_size = battery_size --snip-- class ElectricCar(Car): def __init__(self,make,model,year): super().__init__(make,model,year) self.battery = Battery() #other.py from car import ElectricCar mt = ElectricCar('tesla','mode s' ,2015) mt.battery.describe_battery()
- 导入所有类,不推荐
- 一个模块导入到另一个模块