PYTHON学习之路_PYTHON基础(2)

时间:2023-03-08 17:52:19

学习内容:

1、Python数据类型与变量

2、Python字符串

3、Python列表

4、Python while循环

5、Python字典

6、Python实例

一、Python数据类型与变量

  1. 标准数据类型

    整形(int)、长整形(long)、布尔(bool)、浮点型(float)、复数(complex)

  2、数字运算

    1)算数运算

    2)比较运算

    3)赋值运算

    4)逻辑运算

    5)位运算

    6)成员运算

    7)身份运算

    8)运算符优先级

二、Python字符串

字符串操作如下:

name='my name \tis {name},and i am {year} old'
print (name.capitalize())#首字母大学
print (name.count('a')) #统计字符串a的数量
print (name.center(50,"-")) #50个字符,不够的-填充
print (name.endswith("a")) #判断以什么结尾,邮箱是否以。com结尾
print (name.expandtabs(tabsize=30)) #table键转成30个空格
print (name.find("name"))#返回name第一个字符的索引值------字符串也可以切片
print (name[name.find("name"):9]) # 字符串的切片
print (name.format(name="alex",year=34)) #字符串赋值
print (name.format_map({'name':'alex','year':23})) #字典的用法
print("123".isalnum()) #包含所有英文字符和数字,特殊字符返回为False
print("123".isalpha()) #包含存因为字符
print("1A".isdecimal()) #包含十进制的数,返回为真
print("123".isdigit()) #包含整数
print("a123".isidentifier()) #判断是不是一个合法的表示符(合法的变量名)
print("aB".islower())#判断是否是小写英文字符
print("1.3".isnumeric()) #判断是不是只有数字在里
print("123".isspace())#判断是否是空格
print("My name is ".istitle()) #是不是一个title(首字母大学)
print("123".isprintable()) #是不是可以打印的。 tty文件,drive文件
print("123".isupper()) #判断是否全是大写
print("+".join(['1','2','3'])) #已某一符号拼接
print("123".ljust(50,'*')) #左对齐输出50字符,不够的*补充
print("123".rjust(50,'-')) #右对齐输出50字符,不够的-补充
print("aB".lower()) #把大写变成小写
print("aB".upper())#把小写变成大写
print("\naB\n".lstrip()) #去掉左边的空格和回车
print("\naB\n".rstrip()) #去掉右边的空格和回车
print("\naB\n".strip()) #去掉两边的空格和回车
p = str.maketrans("abcdef",'123456')
print ("alex li".translate(p)) #随机密码 与上一行配合完成
print ("alex li".replace('l','L',1)) #替换字符,若多个,后面的数字代表替换第几个字符
print ("alex lil".rfind('l')) #返回从左边查找最右边的那个字符索引(第一个字符索引为0)
print ("alex li".split('l')) #把字符串安按照其一特定字符分成列表 默认为空格
print ("alex \nli".splitlines()) #把字符串安按照换行(\n或\r,不同系统的换行符)字符分成列表
print ("Alex \nli".swapcase()) #大写变小写,小写变大学
print ("alex li".title()) #变成一个title
print ("alex li".zfill(50))#输出50字符,不够的用0填充(0在左边)
print ("alex li".split('l'))

三、Python列表

列表的定义:

names=['xiongda','laoer','wangwu','1zhangsan','lisi','wangwu']

列表的添加:

names.append('sunliu')
names.insert(3,'我要占3的位置') 默认后面追加

列表的删除:

del names[3]
names.remove('wangwu')
names.pop(1)

列表的更改

names[1]='更改1的内容'

列表的查询

for i in range(len(names)):
print (names[i])

列表的复制

浅copy的是列表中的元素,与变量赋值相同;

浅copy的是列表中的列表,复制的是子列表中的内存地址,即与copy前指向了相同的位置,任意一个更改,另一个也跟着更改,与linux中的软链接类似;

names=['xiongda','laoer','wangwu',['a','100'],'1zhangsan','lisi','wangwu']
names2 = names.copy()
print (names)
print (names2)
names[1]='我要替换1的位置'
names[3][1]='200'
print ('Names:',names)
print ('Names2:',names2)

四、while循环

count = 0
age_of_oldboy = 56
while count <3:
guess_age = input('Age>>:')
if guess_age.isdigit():
guess_age=int(guess_age)
else:
continue
if guess_age == age_of_oldboy:
print ('猜对了')
break
if guess_age > age_of_oldboy:
print ('little')
if guess_age < age_of_oldboy:
print('bigger')
count += 1

五、Python字典

字典是key-value模式。

字典的基本操作:

print (info)
#print (info("student1001")) 错误命令
print (info["student1001"])
info["stu1104"]="苍井空"  #增加一个内容
#del info['student1002'] #指定删除
#info.pop("student1004") #指定删除 #info.popitem() #随机删除
print('student1003'  in info) #info.has_key("1103") 。#返回True or False
print(info.get('student1006')) #查找字典安全方法,get如果字典里有则输出,如果没有则返回None
info.update()  #两字典合并,有交叉的替换,没有则插入
print (info.items()) #字典转出列表
c=dict.fromkeys([6,7,8],[1,{"name":"alex"},333]) #初始化一个新的字典 多层的话修改其中一个值,这个值全都修改了
for i in info:  #循环K值
print(i)
for i in info: #循环value 常用的,高效的,较下面的速度快
print(i,info[i]) for k,v in info.items(): #字典先转成列表,然后在遍历列表
print (k,v)

六、Python实例

1)购物车

2)三级菜单