安装pythone3
前置知识
一切皆对象(object)
对象有自己的从属数据类型
Python的标准数据类型:
- 数字 Number
- 字符 String
- 列表 List
- 字典 Dictionary
- 元组 Tuple
- 集合 Set
对象有属性(attribute)和方法(mathod)/函数(function)
属性是描述事物的 方法是物体所具备的功能
数据类型丨数字Number
整数(integer)
小数(浮点数 floating point number)
基本运算:
加:1+1=2
减:2-1=1
乘:34=12
除:8/2=4.0
除(不带小数点):8//2=4
乘方:2**3=8
求余:5%2=1
运算顺序:1+23**2=19
变量丨variable_name=value
变量名 等于 值
小红 = ‘隔壁班的女孩’
age = ‘18’
变量只有赋值后才能使用
数字类型丨字符串
要点
‘字符串要用引号包裹’
单双引号都可以,前后一致就行
需要用单引号时,用反斜杠转译引号字符:‘I/‘m Tom’,输出的结果就是 I’m Tom
连接字符串:
a = 'hello '
b = 'world'
a + b
#输出的结果将是 ’hello world‘
格式化字符串:
a = 'hello '
f'{a}world'
#输出的结果将是 ’hello world‘
字符串方法(mathod)
如:upper(将字符串大写)
这些方法不用记,要用的时候再去查
a = 'hello'
print(name.upper())
索引(index)
定位一个物体的位置,从 0 开始数
a = 'hello'
a[2]
#这里输出的将是’l‘
a[-1]
#倒数第一个物体,这里是‘o’
a[1:4]
#第1 到第 3个物体,注意:不包括第4个物体
数据类型丨list 以及修改list中元素的方法
#输出 a 列表中的第一个元素,也就是 1
a = [ 1,2,3,4,5 ]
a[0]
a[:4]#第 4 位以前的元素
a[2:]#第 2 位以后的所有元素
#修改list元素的方法
a[0] = 9 # 替换元素,将 list 种的第一个元素替换成 9
a.append(100) #插入元素,在 list 最后面添加新元素:100
a.insert(3,300) #指定位置插入元素,在第 3 位元素后面添加一个新元素:300
a.pop() #删除元素,删除 list 中的最后一个元素
a.pop(3) #删除指定位置的元素,删除第四位的元素
len(a) #得出 list 的元素的数量
...
函数function是什么?
带名字的代码块
- 可以完成特定任务
- 便于重复使用
格式:
def function_name(): #定义一个函数
do sth here
function_name() #执行这个函数
#例子:
def smile():
return 'hhh'
print(smile())打印函数的结果:hhh
#带参数的函数
def hello(name,age):
print('hellp' + name + 'you are' + age )
hello('guozhan','18')
数据类型丨字典dictionary
代码格式
每一项都由逗号隔开,每项包括一个 key(键),一个冒号,一个 value(值),这就是一组键值对(key value pair)。
height = {'张三':180,'李四':170,'王五':175,}
#访问字典中的 value
height['张三'] #这里输出结果为 180
#添加键值对,
height[‘孙六’] = 190
#修改一个值
height['张三'] = 174
#删除一个键值对
del height['张三']
函数丨if.else 条件判断
if ture : #如果条件是 ture 就执行下面的内容
do sth
#if else 语句
age = 9
if age >= 18:
print('ok')
else:
print('sorry')
比较操作符
- a = 1 #赋值
- a > 2 #false
- a < 2 #ture
- a == 2 #false
- a >= 2 #false
- a <= 2 #ture
- a != 2 #ture
for 循环函数丨一直执行,除非用break 打断
apple = ['1','2','3','4'] #建立一个叫做 apple 的列表,列表里面包括 1、2、3、4 这四个字符,
for example in apple[0:3]: #创建了一个叫做 example 的 for 循环函数,循环刚刚创建的那个叫做 apple 的列表中的第 0 位到第 3 位的字符,并打印(在编辑器中显示)循环的结果
if example = ’2‘
print(just a ’2‘)
break
range 函数丨生成某个范围的数字
range(1,11)
代码含义:
从 1 到 10的数字(注意:结果中不包含 11)
while 循环函数丨当某某条件满足(是 ture )的时候就执行某某动作
#当 a 小于 4 时候,打印字符:”小于 4“,然后将 a 的值+1,然后继续循环:打印字符:”小于 4“,直到 a 不小于 4 时,循环结束。
a = 1
while a<4:
print(’小于 4‘)
a = a+1
代码含义
decoration 装饰器丨对现有的函数进行增强
代码示例
#创建了一个函数 zhihu ,创建了一个函数 wrapper。
def zhihu(func):
def wrapper():
print('谢邀')
func() #func()将会被替换为装饰器说用到的元素
print('以上')
return wrapper
#这里是一个语法糖写法,它的完全体写法是:answer1 = zhihu(answer1)
@zhihu
def answer1():
print('我不清楚')
def answer2():
print('我不知道')
class 类丨类似不同物体的原型、草图、属性
class Phone():#函数首字母要大写
def __init__(self):#__init__ 初始化函数的属性的意思;self 这个类本身的意思
self.name = 'iphone'#定义自己的名字
self.color = 'black'#定义自己的颜色
#,定义自己的功能,也就是为类创建了一个叫 call 的函数,函数运行结果是输出‘喂喂喂’
def call(self):
return '喂喂喂'
iPhone7 = phone()
# 这里为 iPhone7 赋值名为 phone 的类,iPhone7就是根据phone这个类实例化出的一个具体实例
#口语化解释就是:iPhone7 是一个含有名字和颜色属性和打电话功能的手机
print(iPhone7.color) #输出结果为:刚刚被实例化的 iphone7 中的 color 属性,
print(iPhone7.call()) #输出刚刚被实例化的 iphone 中的 call 的函数,也可以写作:print(Phone.call(iPhone7))
我们在初始化类时,不为类中的属性定义一个具体的值,就可以在实例化类时再自己来定义每个属性的值
如下:
class Phone():#函数首字母要大写
def __init__(self,name,color):#__init__ 初始化函数的属性的意思;self 本函数的意思
self.name = 'name'#定义函数的属性,不为类中的属性定义一个具体的值
self.color = 'color'
def call(self):#为类创建了一个叫call 的函数,函数运行结果是输出‘喂喂喂’
return '喂喂喂'
Xiaomi = phone('xiaomi','red')
# 这里为 Xiaomi 赋值名为 phone 的类,Xiaomi就是根据phone这个类实例化出的一个具体实例
#口语化解释就是:Xiaomi 是一个含有名字和颜色属性和打电话功能的手机
print(Xiaomi.color) #输出结果为:刚刚被实例化的 Xiaomi 中的 color 属性,也就是 red
属性分为class attribute (类属性)和instance attribute(实例属性)
也上文中的就是 Phone 属性和 iPhone7 属性
类的属性,同时属于类和实例,两者都可以使用,
实例的属性,只属于实例,类不可以使用,
module 模块丨从另一个 py 文件引入已经建立好的方法
文件 1:创建需要被引入的方法,这里加入文件名字叫做 print_sth
def color():
print('red')
def num():
print(123)
文件 2:这个文件去引入文件 1 里面的方法
import print_sth #引入叫 print_sth 的文件里面的全部方法
print_sth.color()
print_sth.num()
如果想引入全部的方法:
from print_sth import * #从 print_sth 文件引入全部的方法
print_sth.color()
print_sth.num()
如果只想引入部分方法:
from print_sth import color as yanse #从 print_sth 文件引入叫做 color 的方法,并改名为yanse
color()#