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<len(a):
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(‘你购买商品成功‘)