python基础

Python程序的构成: 模块 语句 表达式 对象

程序由模块构成

模块包含语句

语句包含表达式

表达式建立并处理对象

操作符

对象值得比较

比较操作符用来判断同类对象是否相等,是对象值得比较,返回布尔值True和False

  • <  小于
  • >  大于
  • <= 小于等于
  • >= 大于等于
  • == 等与
  • != 不等于

对象身份得比较

对象身份比较主要是测试两个变量是否指向同一个变量

  • is  是同一个对象
  • is not  不是同一个对象

逻辑操作符

  • not 逻辑非
  • and 逻辑与
  • or 逻辑或

数据类型

int: 1,2,4 用于数据运算

bool: 主要用户判断 True Flase

str: 储存小的数据,进行操作

list: 存储大量数

元祖:只读列表

dict: 字典,存储关系型数据

集合: 

一:int数据类型

#####is系列
name='wangys123'
print(name.isalnum()) #字符串由字母或数字组成
print(name.isalpha()) #字符串只由字母组成
print(name.isdigit()) #字符串只由数字组成

 

 

四 元祖

元祖被成为只读列表,只能查询,不能被修改

五:join方法

name = 'wangys'
name1='#'.join(name)
print(name1)
num = ['wagys','lala']
num1='_'.join(num)
print(num1)

使用split将字符串转换为列表,使用join方法可以将列表转换为字符串

names = 'wangys#wangc#lala'
print(names.split('#'))

names=['wangys', 'wangc', 'lala']
print(''.join(names))

六 range

可以将range看作是一个数字列表

# 顾首不顾尾
for
i in range(0,5): print(i) for i in range(5): print(i)
for i in range(2,5):
    print(i)
for i  in range(0,10,3):
    print(i)
for i  in range(10,5,-2):
    print(i)
# 不用有输出
for
i in range(0,10,-2): print(i)

# 列表嵌套,循环打印

names = ['wangys','xiaogongzu',[1,'caomei']]
for i in names:
    if type(i) == list:
        for j in i:
            print(j)
    else:
        print(i)
names = ['wangys','xiaogongzu',[1,'caomei']]

for i in range(len(names)):
    if type(names[i]) == list:
        for j  in range(len(names[i])):
            print(j)
    else:
        print(names[i])

七:字典

#数据类型划分:可变数据类型,不可变数据类型
不可变数据类型:元组,bool int str 可哈希
可变数据类型:list,dict set 不可哈希
dict key 必须是不可变数据类型,可哈希,
value:任意数据类型。
dict 优点:二分查找去查询
存储大量的关系型数据
特点:无序的

7.1  字典增

7.1.1 如下方法,若字典里没有该key-value则增,如果有则覆盖

dic1 = {'name':'wangys','age':18}
dic1['sex'] = 'male'
print(dic1)
dic1 = {'name':'wangys','age':18}
dic1['name'] = 'wangc'
print(dic1)

7.1.2 setdefault

如果不添加value,则为None

dic1 = {'name':'wangys','age':18}
dic1.setdefault('height')
print(dic1)
dic1 = {'name': 'wangys', 'age': 18}
dic1.setdefault('height',145)
print(dic1)

如果有键值对,则不添加

dic1 = {'name': 'wangys', 'age': 18}
dic1.setdefault('name','wangc')
print(dic1)

7.2 字典删除

按照key删除,并且有返回值,返回值是value

dic1 = {'name': 'wangys', 'age': 18}
dic1.pop('age')
print(dic1)

如果该Key不存在则报错

dic1 = {'name': 'wangys', 'age': 18}
dic1.pop('sdff')
print(dic1)

我们可以通过在删除后加一个自定义的值来不让它报错,比如说None

dic1 = {'name': 'wangys', 'age': 18}
dic1.pop('sddd',None)
print(dic1)

7.3 字典-改

前面增的时候有一个直接添加,如果key存在则更新

另一个是update,将一个字典更新到另一个字典里,有则更新,没有则添加

dic1 = {'name':'wangys','age':18}
dic2 = {'name':'wangc','sex':'male'}
dic1.update(dic2)
print(dic1)

7.4  字典-查

dic1 = {'name': 'wangc', 'age': 18, 'sex': 'male'}
print(dic1.keys())   # key的列表
print(dic1.values()) # value的列表
print(dic1.items())  # key value组成元祖的列表

7.4.1 只打印键

dic1 = {'name': 'wangc', 'age': 18, 'sex': 'male'}
for  i  in dic1:
    print(i)

for i in dic1.keys():
    print(i)

7.4.2 只打印value

dic1 = {'name': 'wangc', 'age': 18, 'sex': 'male'}
for i  in dic1.values():
    print(i)

7.4.3 打印key value

dic1 = {'name': 'wangc', 'age': 18, 'sex': 'male'}
for i  in dic1.items():
    print(i)
dic1 = {'name': 'wangc', 'age': 18, 'sex': 'male'}
for k,v in dic1.items():
    print(k,v)

7.4.4 获取一个key的值

dic1 = {'name': 'wangc', 'age': 18, 'sex': 'male'}
print(dic1['name'])
print(dic1["sdf"]) # 如果没有会报错
dic1 = {'name': 'wangc', 'age': 18, 'sex': 'male'}
print(dic1.get('name'))
print(dic1.get('sdf'))
推荐使用get,不会报错

7.5 字典-嵌套

# fhdklah123rfdj12fdjsl3    '       123     12    13'
info = input('>>>').strip()
for i in info:
    if i.isalpha():
        info = info.replace(i," ")
l = info.split()
print(len(l))


'''
输出商品列表,用户输入序号,显示用户选中的商品
商品 li = ["手机", "电脑", '鼠标垫', '游艇']
要求:1:页面显示 序号 + 商品名称,如:
              1 手机
        2 电脑
             …
         2: 用户输入选择的商品序号,然后打印商品名称
         3:如果用户输入的商品序号有误,则提示输入有误,并重新输入。
         4:用户输入Q或者q,退出程序。

'''



Flag=True
while Flag:
    for i in li:
        print('{}		{}'.format(li.index(i)+1,i))
    num_of_choice=input("请输入商品序号输入Q或者q退出程序")
    if num_of_choice.isdigit():
        num_of_choice = int(num_of_choice)
        if num_of_choice >0 and num_of_choice <= len(li):
            print(li[num_of_choice-1])
        else:print("商品不存在,请输入正确的序号")
    elif num_of_choice.upper() == 'Q':break
    else:print('请输入数字')

八 练习题

 

原文地址:https://www.cnblogs.com/wc89/p/9845465.html