Python自动化开发课堂笔记【Day01】 - Python基础(运算符,数据类型)
运算符
运算符详情可参考连接http://www.runoob.com/python/python-operators.html
注意点:
a. i += 1 相当于 i = i - 1,同理可推 -=
b. if 1 == 1 or 1 > 2 and 1 == 4: -->运算符从左至右依次运算
print('正确')
else:
print('错误')
c. 关键字获取
content = "This is a Python blog."
if "Python" in content:
print ("Bingo")
else:
print ("Not in")
数据类型
1. 整数
i. 创建整数型
a = 123 或 a = int(123)
ii. 将字符串转换为整数型
a = "18" --> new_a = int(a)
2. 布尔值
i. 创建布尔值型变量
a = True / False
ii. 转换布尔值型
数字转换:0 = False, 其他 = True
字符串:"" = False, 其他 = True
3. 字符串
i. 创建字符串
name = "Albert" 或 name = str(Albert)
ii. 将整数型转化为字符串型
age = 19 --> new_age = str(age)
iii. 字符串的拼接
name = "Albert"
gender = "female"
new_str = name + gender
iv. 字符串格式化
str = "Name: %d, Gender: %d, Age: %d"
new_str = str % (Albert,female,18)
或者 print ("Name: %d, Gender: %d, Age: %d" % (Albert,female,18))
v. 判断子字符串是否包含在序列中(之前已经有提及,比如)
content = "This is a Python blog."
if "Python" in content:
print ("Bingo")
else:
print ("Not in")
vi. 移除字符串左右两端的空白
str = "this is a test string"
new_str = str.strip() --> 移除字符串两端空白
new_str = str.lstrip() --> 只是移除字符串左端空白
new_str = str.rstrip() --> 只是移除字符串右端空白
vii. 分割(根据特定字符)
str = "this|is|a|test|string"
new_list = str.split('|')
new_list = str.split("|",1) --> 只在第一次出现“|”的位置进行分割
new_list = str.split("|",-1) --> 只是在最后出现“|”的位置进行分割
viii. 字符串长度
str = "this is a test string"
print (len(str))
ix. 索引
str = "this is a test string"
i = 0
while i < len(str)
print(str[i])
i += 1
x. 切片
str = "this is a test string"
print(str[0]) --> 打印字符串第一个字符
print(str[0:2]) --> 打印字符串0-1的字符
print(str[5:9]) --> 打印字符串5-8的字符
print(str[5:]) --> 从字符串第5个字符处打印至结束
print(str[5:-2]) --> 打印字符串第5个字符至倒数第二个字符
print(str[-2:]) --> 打印字符串倒数第二个字符
print(str[0::2]) --> 字符串隔字符打印
4. 列表
i. 创建列表
lst = ['This','is','a','list','test']
lst = list(['This','is','a','list','test'])
ii. 子字符串包含关系判断
if 'is' in lst --> True
if 'is' in lst[0] --> True
iii. 索引
i = 0
while i < len(lst):
i += 1
print(lst[i])
iv. 长度
print(len(lst))
v. 切片
new_lst = lst[0::2] --> 列表内元素间隔输出组成新的列表
vi. 追加元素
lst.append('for','Python')
vii. 插入元素
lst.insert(2,'not') --> 在list指定index元素之前插入新的元素
viii. 删除元素
lst.remove('test') or del lst[4]
ix. 更新元素
lst[0] = 'That' --> 相当于直接重新赋值
x. 列表for循环
for item in lst:
5. 字典
i. 创建字典
dict = {'name':'Albert','age':'18','height':'190'}
ii. 索引(不同于列表,只能通过键获取对应值)
dict['name'] = 'Albert'
iii. 增加或修改字典键值对
dict['weight'] = '75kg' --> 直接添加,如果没有相同键的话就自行加入,无序加入
iv. 删除字典键值对
del dict['name']
v. 字典for循环
for key in dict.keys():
for value in dict.values():
for key,value in dict.items():
vi. 列表和字典之间的相互嵌套
dict = {'name':'Albert' , 'age':'18' , 'height':'190' , '3D':[80,['A','C','B']80,80,{4:3}]}
dict['3D'][1].append('D')
dict['3D'][4][2] = 1
示例:
1 user_list = [{'name':'alex','pwd':'123123','times':1}, 2 {'name':'eric','pwd':'123123','times':1}, 3 {'name':'tony','pwd':'123123','times':1}] 4 usr = input("please input ur username:") 5 psw = input("please input ur password:") 6 flag = 0 7 for item in user_list: 8 if usr == item['name'] and psw == item['pwd']: 9 item['times'] += 1 10 flag = 1 11 break 12 if flag == 0: 13 print("登录失败") 14 else: 15 print("登录成功")
6. 元组
i. 创建元组
t1 = (1,2,3,'A','B','C') --> 小括号可以省略(不过最好都写以避免不必要的错误)
ii. 切片
t1[0:]
t1[0::2]
iii. 元组加乘操作
t1 + t1 = t1 * 2 = (1, 2, 3, 'A', 'B', 'C', 1, 2, 3, 'A', 'B', 'C')
iv. 元组元素包含判断
'A' in t1 --> True
v. 元组异构操作(元组内嵌套可变类型,比如列表) --> 修改后并不会产生新的元组
t2 = (1,2,3,['A','B','C'])
t2[1].append('D')
t2[1].pop()