Dr.G

导航

python基础

Python 是区分大小写的,故 a变量 和 A变量 是不同的变量

常用数据类型:

1 int temp = 1                                                            # 整型
2 float temp = 1.235                                                      # 浮点型
3 bool b = True                                                           # 布尔型,True, False
4 str s = 'a'                                                             # 字符串,不可变类型
5 list li = [1, 'a', 1.23, True]                                          # 列表,有序,可变类型
6 tuple tu = (1, )                                                        # 元组,有序,不可变类型
7 dict dic = {"key1": "value1", "key2": "value2"}                         # 字典,无序,键值对,可变类型,key 不可重复
8 set st = {1, 'a', True, (1, 3), ['e', False]}                           # 集合,无序,值不可重复-->作用:数组去重  

算术运算符

1 
2 +   加  print(a + b)
3 -   减
4 *   乘
5 /   除
6 //  取整
7 %   取余,取模运算
8 **  幂运算
9 

赋值运算符

 1
 2 =        如 a = 5
 3 +=       如 a += 5  等同于 a = a+3
 4 -=
 5 /=
 6 *=
 7 //=
 8 %=
 9 **=
10 

比较运算符

 1 """
 2 <         小于
 3 >         大于
 4 ==        等于
 5 <=        小于等于
 6 >=        大于等于
 7 !=        不等于
 8 
 9 比较结果为 布尔值 True  False
10 """
11 a = 5
12 b = 4
13 print(a>b)     # 输出 True

逻辑运算符

 1 """
 2 and     且
 3 or      或
 4 not     非
 5 
 6 运算结果为 布尔值 True  False
 7 """
 8 
 9 a = 1 < 3   # True
10 b = 1 < 2   # True
11 
12 print( (not a ) or b )   # True
13 
14 print( b and (not a) )   # False

成员运算符

1 str = 'a'
2 list = [1, 'd', 'a', 1.34]
3 
4 # in
5 print( str in list )       # Ture
6 
7 # not in
8 var = 2
9 print( var not in list )   # True

字符串连接操作

1 # +  连接相同的类型
2 print('i ' + 'miss you')     # i miss you

重复操作

1 #   * 后面接数值
2 print('miss '*2)     # miss miss 

切片操作--索引操作  len()

 1 # len() 获取字符串长度
 2 
 3 name = "你若安好,便是晴天!"
 4 print(len(name))  # 得到字符串的长度 10
 5 
 6 print(name[1])    # 索引从0开始,故输出:若
 7 
 8 print(name[-1])   # 输出字符串右边的第一个字符,故输出:!
 9 
10 print(name[3:5])  # 取左,不取右, 故输出:好,
11 
12 print(name[:3])   # 输出:你若安
13 
14 print(name[3:])   # 输出: 好,便是晴天!
 1 # username[开始索引:结束索引:步长], 步长,默认为1,不可为0
 2 # 打印:开始位置,开始位置+步长
 3 username = '糗事芒果树屋'
 4 print(username[0:-1])        # 打印:糗事芒果树
 5 print(username[::1])         # 打印:糗事芒果树屋
 6 print(username[::2])         # 打印:糗芒树
 7 print(username[1:5:2])       # 打印:事果
 8 print(username[1:-1:1])      # 打印:事芒果树
 9 
10 # 倒序
11 print(username[::-1])       # 打印:屋树果芒事糗
12 print(username[-1:-5:-2])   # 打印:屋果
13 print(username[4:0:-1])     # 打印:树果芒事
14 
15 """
16 总结:
17 结束位置-开始位置,符号同步长,可以获取到值,符号不同步长,不能取到值
18 步长 为正数,从左到右,步长 为负数,从右到左
19 """
1 # 切片结束索引超出字符长度范围 ==》 不会报错
2 print(username[1:100])      # 打印:事芒果树屋
3 print(username[100])        # 索引超出范围,报错

占位符输出%

 1 """
 2 占位符
 3 %s,   字符、字符串占位符
 4 %d,   整型占位符
 5 %f,    浮点数占位符
 6 %.2f  浮点数占位符,保留2位小数
 7 """
 8 
 9 age = 12
10 name = 'qiuyan'
11 price = 12.345
12 
13 print("""
14 age: %d
15 name: %s
16 price: %.2f
17 """%(age, name, price))
18 #输出: 19 20 age:12 21 name:qiuyan 22 price:12.35 23

格式化输出format()

 1 # {}中,可填 索引{0}开始且不可为负数,可定义标签,可规定输入字符类型
 2 
 3 print("""
 4 age: {}
 5 name: {}
 6 price: {:.2f}
 7 """.format(age, name, price))
 8 
 9 # 输出
10 
11 age:12
12 name:qiuyan
13 price:12.35
14 
15 
16 
17 print("""
18 age: {my_age}
19 """.format(my_age=age))
20 
21 # 输出
22 # age = 12

查看数据类型、类型强制转换

1 # type()  查看数据类型
2 print(type(8/3))     # 输出:<class 'float'>
3 
4 # 强制转换 int()  float()  bool()   str()
5 print(int(8/3))      # 输出:2

id() 获取变量内存地址,is 比较两个变量的内存地址是否相同

 1 # 字符串
 2 name1 = 'andy'
 3 name2 = 'andy'
 4 print(name1 == name2)    # True
 5 print(id(name1))         # 输出:1922097181896
 6 print(id(name2))         # 输出:1922097181896
 7 print(name1 is name2)    # True    
 8 
 9 
10 # 列表 相同的值,单独开辟空间
11 user = ['qiuyan']
12 name = ['qiuyan']
13 print(user == name)   # True
14 print(id(user))       # 输出:2506679870088
15 print(id(name))       # 输出:2506679870152
16 print(user is name)   # False

转义字符 \

1 # 转义字符 \
2 print('yuze,\'wang\'')      # 输出:yuze,'wang'
3 print('yuze,"wang"')        # 单套双, 输出:yuze,"wang"
4 print("yuze,'wang'")        # 双套单, 输出:yuze,'wang'

多行注释

 1 """
 2 双引号
 3 多行注释
 4 """
 5 
 6 '''
 7 单引号
 8 多行注释
 9 '''
10 
11 # 单行注释
12 
13 print('''
14 多行原样输出
15 aaa
16 Ctrl+/   单行注释切换
17 ''')

函数定义

1 # def 关键字,定义函数
2 def function_name(parm, parm1): 
3     '''函数注解'''
4     print('函数体')
5     return '返回值'

调用函数

1 # 先定义函数,再调用函数
2 function_name(parm, parm1)         # parm, parm1 传入的参数

函数参数

 1 # 默认参数, 定义函数时,指定参数
 2 def add(a, b=2, c=3):             # a 无默认值,调用时必传;b、c有默认值,调用时可传,可不传
 3     return a+b+c
 4 
 5 print(add(1, 10))                 # a=1, b=10, c=3,故输出:14
 6 
 7 # 位置参数,a 为位置参数,b、c为默认参数,函数定义时,默认参数 要放在 位置参数 后面
 8 
 9 # 关键字参数(常用)
10 add(b=5, c=1, a=10)               # 每个参数都能获取到对应的值,正确
11 add(4, a=2, c=6)                  # b参数,获取不到值,错误
12 
13 # 动态参数  *args 接收剩下的‘位置参数’
14 def test_api(url, params, *args)
15     print(*args)
16     return None
17 
18 test_api('http://', 'username:初秋', 'value1', 'value2', 'value2')
19 # 输出:value1 value2 value2
20 
21 # 原理
22 a, b, *c = 1, 2, 3, '4', 'cc'
23 print(*c)                          # 输出:3 4 cc

局部变量 与 全局变量

 1 var = '全局'                      # 顶格, 全局变量
 2 
 3 def func_var(parm):              # 函数中的 param、var 都是局部变量,只作用于函数,函数外不可引用
 4     # global var                 # global 关键字修饰变量,为全局变量,可修改全局变量var的值
 5     var = '局部'
 6     print(var)
 7     return var+parm
 8 
 9 print(func_var('参数'))
10 print(var)
11 
12 # global var 注释掉,输出结果:
13 
14 局部
15 局部参数
16 全局
17 
18 
19 # global var 未注释,输出结果:
20 
21 局部
22 局部参数
23 局部
24 

 

posted on 2020-05-09 14:05  Dr.G  阅读(112)  评论(0编辑  收藏  举报