Pythen基础知识
1.py简介:
Py语言是由代码转换成c字节码然后再转换成机器码
编码类型:ascll、万国码、utf-8、gbk(汉字)
2.py基础知识
2.1py变量
变量命名:
通俗易懂
用一定含义的变量命名
字母、数字、下划线命名,不能以下划线开头,不能使用py的关键字命名
2输入、输出语句
代码示例:
#!/usr/bin/python
# -*- coding:utf-8 -*-
import getpass #调用getpass模块
user_name=input("请输入你的名字:")
user_passwrd=getpass.getpass("请输入你的密码:") #不显示密码的输出,需要命令行测试
print(user_name)
2.3if语句
1.简单的判断
if 条件: #py用冒号和空格来区分条件的结束
条件符合,go
else:
条件不符,go
2.有区间的条件判断
if 条件:
条件符合,go
elif 条件:
条件符合,go
……
else :
条件不符,go
3.if的嵌套
代码示例:
user_chengji=input('请输入你的成绩:')
a=int(user_chengji)
if a>90 :
print("你的成绩是优秀的")
elif a<=90 and a>80 :
print("你的成绩是良好的")
else :
print('你的成绩有待提高')
2.4循环语句:
While 条件:
进入循环
breake跳出整个循环
contine结束本次循环,开始限一次循环
代码示例:
while True:
user_chengji=input('请输入你的成绩:')
a=int(user_chengji)
ifa>90 :
print("你的成绩是优秀的")
elifa<=90 and a>80 :
print("你的成绩是良好的")
else:
print('你的成绩有待提高')
break
2.5py的运算符:
数值运算符号:
+、-、*、/、%(求余)、**(幂运算)、//(求商)、=(赋值)、==(等于)…..支持常规的日常运算
in not and or
2.6py的数据类型:
2.6.1数值类型
定义数值类型的关键字:int
A=input(‘…’)
num=int(A)
2.6.2字符串类型
定义字符串变量的关键字:str
A=”hahahah”
A=‘hahahah’
A=’‘’haha
hhaha
‘’‘
A=str(‘hahahah’)
对字符串的常见操作:
字符串的拼接
User_name=’hjg’
User_age=’28’
User_sex=’nan’
User_info= User_name+ User_age+ User_sex
print(User_info)
字符串的占位符
%s
User_info=”hahhha,hhhh%s,hehheh%s”%(‘ggg’,’jjj’,)
跳过空白
关键字strip
a. strip()左右跳过
b. lstrip()从左跳过
c. rstrip()从右跳过
字符串的分割
关键字:split默认分割所有,有需求指定分割单位
a. split(‘分割符’)
b. split(‘分割符’, 分割单位)
c. rsplit(‘分割符’,分割单位)
d. 示例:
a='hshshs|hsh|jjs'
new_a=a.rsplit('|',1)
print(new_a)
['hshshs|hsh', 'jjs']
a='hshshs|hsh|jjs'
new_a=a.split('|')
print(new_a)
['hshshs', 'hsh', 'jjs']
字符串的长度计算
关键字len
A=’hhhhh’
B=len(A)
索引
a[]来引用定义字符串的单个字符,默认从0开始
a='hshshs|hsh|jjs'
i=0
while i print(a[i]) i+=1 字符串的切片 取定义字符串的固定长度重新整合,通过索引来切片 name = '我叫李杰,性别我今年岁,我在说谎!' print(name[0:5:2]) 2表示步长 2.6.3列表类型 关键字list 创建一个列表 A=[‘元素1’,’元素2‘,…] A=list([‘元素1’,’元素2‘,…]) 索引、长度、切片的操作同字符串一样 a. 向列表的最后追加元素 关键字append A=[‘ss’,’sssss’,225] append(‘ooo’) b. 通过索引插入元素 关键字:insert A=[‘ss’,’sssss’,225] insert(1,’hhahah’) c. 删除列表中的元素 关键字:remove A=[‘ss’,’sssss’,225] remove(‘225’) d. 更新列表元素 通过索引来更新列表的元素 A=[‘ss’,’sssss’,225] A[0]=’SSS’ e. 打印列表的每一个元素 list_a=['hjg','男',28] for i in list_a: print(i) f. 常用列表的关键字: append末尾追加 pop 末尾删除 insert 指定插入 remove 指定删除 reverse 反转 sort 排序 extend 扩展叠加 切片name_list[0:1:2]、name_list[-2:]……. Count 统计 Index 索引 Clear 清楚列表 2.6.4字典类型(键值对) 定义: User_info={ ‘name’:’hjg’, ‘Password’:’123’, } # 常用操作 # 索引获取值 # n = v['name'] # print(n) # 增加,无,增加;有,修改 # v['age'] = 19 # print(v) # 删除 # del v['name'] # print(v) # 循环 # for item in v.keys(): # print(item) # for item in v.values(): # print(item) # for key,val in v.items(): # print(key,val) print(len(user_dict)) PS: 相互嵌套 user_dict = { 'k1': 'v1', 'k2':{'kk1':'vv1','kk2':'vv2'}, 'k3': 123, 'k4':['alex','eric',['a','b','c'],'李杰',{'k11':'vv1'}], } user_dict['k4'][2].append('123') user_dict['k4'][4]['n'] = '过啥龙' 应用: user_list = [ {'name':'alex','pwd':'123123','times':1}, {'name':'eric','pwd':'123123','times':1}, {'name':'tony','pwd':'123123','times':1}, ] user = input('用户名:') pwd = input('密码:') for item in user_list: if user == item['name']and pwd == item['pwd']: print('登录成功') break 2.7py文件的操作 打开关闭文件 关键字open、closed 1. 打开并读取文件内容 f1 = open('db','r') data = f1.read() f1.close() 2. 重新写入文件 target ="""alex|123123|3\neric|123123|3""" f2 = open('db','w') f2.write(target) f2.close() day01练习题: a. 元素分类 有如下值集合 v1 = [11,22,33,44,55,66,77,88,99,90],将所有大于 66 的值保存至字典的第一个key中,将小于 66 的值保存至第二个key的值中。即: {'k1':大于66的所有值, 'k2': 小于66的所有值}v2 = {'k1': [],'k2':[] } 代码如下: v1=[11,22,33,44,55,66,77,88,99] v2={'k1':[],'k2':[]} for i in v1: ifi>66: v2['k1'].append(i) elifi<66: v2['k2'].append(i) else: pass print(v2) b. 功能要求: v = 2000要求用户输入总资产,例如:2000显示商品列表,让用户根据序号选择商品,加入购物车购买,如果商品总额大于总资产,提示账户余额不足,否则,购买成功。 goods = [{"name": "电脑","price": 1999},{"name": "鼠标","price": 10},{"name": "游艇","price": 20},{"name": "美女","price": 998},] file1=open('db','r') data=str(file1.read()) file1.close() user_goods_list=[] for i in data.split("\n"): a=i.split('|') goods_info={'goodsnum':a[0], 'goodsname':a[1], 'goodsprice':a[2], } user_goods_list.append(goods_info) user_total_monoey=int(input('请输入你预算的monoey>>>:')) #print(user_total_monoey) # print(user_goods_list) for item in user_goods_list: print(item['goodsnum'],item['goodsname'],item['goodsprice']) user_consumption=0 while True: num=input('请输入你想要买的商品编号,如果想退出请按9') user_num=int(num) ifuser_num == 9: break else: user_consumption=user_consumption+int(user_goods_list[user_num]['goodsprice']) if user_consumption>user_total_monoey: print('你购买的商品超过你的预算,余额不足。。。') else: print('你购买商品成功')