day2

列表代码:

# student=['qian',84,'male',['paoba','hejiu']]
# stu=['fk',12]
# print(student[3]) #['paoba', 'hejiu'] 正向取
# print(student[3][1]) #hejiu 正向取
# print(student[-2]) #male 反向取
# print(student[0:4:2]) #['qian', 'male'] 切片(顾头不顾尾)
# print(len(student)) #4 求长度
# 成员运算
# print('qian' in student) #True
# print('qian' not in student) #False
# 追加
# student.append('hfxy')
# print(student) #['qian', 84, 'male', ['paoba', 'hejiu'], 'hfxy'] 在末尾追加一个值
# 删除
# del student[2]
# print(student) #['qian', 84, ['paoba', 'hejiu']]
# print(student.index(84)) #1 获取列表中某个值的索引
# print(student.count(84)) #1 获取列表中某个值出现的次数
# student.pop()
# print(student) #['qian', 84, 'male'] 取出列表中最后一个值
# sex=student.pop(2)
# print(sex) #male 取出列表中索引为2的值
# print(student) #['qian', 84, ['paoba', 'hejiu']]
# student.insert(3,'hfxy') #在索引为3的位置插入hfxy
# print(student) #['qian', 84, 'male', 'hfxy', ['paoba', 'hejiu']]
# student.extend(stu) #合并列表,把stu中的值插入student内
# print(student) #['qian', 84, 'male', ['paoba', 'hejiu'], 'fk', 12]

元组代码:

 # dict1 = dict({'age': 18, 'name': 'tank'})
    # dict1 = {'age': 18, 'name': 'tank'}
    # print(dict1)  # {'age': 18, 'name': 'tank'}
    # print(type(dict1))  # <class 'dict'>

    # 取值,字典名 + [],括号内写值对应的key
    # print(dict1['age'])

    # 优先掌握的操作:
    # 1、按key存取值:可存可取
    # 存一个 level: 9的值到dict1字典中
    # dict1['level'] = 9
    # print(dict1)  # {'age': 18, 'name': 'tank', 'level': 9}
    # print(dict1['name'])  # tank
    #
    # # 2、长度len
    #
    # # 3、成员运算in和not in  只判断字典中的key
    # print('name' in dict1)  # True
    # print('tank' in dict1)  # False
    # print('tank' not in dict1)  # True
    #
    # # 4、删除
    # del dict1['level']
    # print(dict1)  # {'age': 18, 'name': 'tank'}
    #
    # # 5、键keys(),值values(),键值对items()
    # # 得到字典中所有key
    # print(dict1.keys())
    # # 得到字典中所有值values
    # print(dict1.values())
    # # 得到字典中所有items
    # print(dict1.items())

    # 6、循环
    # 循环遍历字典中所有的key
    # for key in dict1:
    #     print(key)
    #     print(dict1[key])

    # get
    dict1 = {'age': 18, 'name': 'tank'}
    # print(dict1.get('age'))

    # []取值
    # print(dict1['sex'])  # KeyError: 'sex'

    # get取值
    print(dict1.get('sex'))  # None
    # 若找不到sex,为其设置一个默认值
    print(dict1.get('sex', 'male'))

字典代码:

# # 不可变类型
# # int
# number = 100
# print(id(number))  # 1434810944
# number = 111
# print(id(number))  # 1434811296
#
# # float
# sal = 1.0
# print(id(sal))  # 2771339842064
# sal = 2.0
# print(id(sal))  # 2771339841896
#
# str1 = 'hello python!'
# print(id(str1))  # 1975751484528
# str2 = str1.replace('hello', 'like')
# print(id(str2))  # 1975751484400


# 可变类型:
# 列表

list1 = [1, 2, 3]

list2 = list1
list1.append(4)

# list1与list2指向的是同一份内存地址
print(id(list1))
print(id(list2))
print(list1)
print(list2)
#yuanzhu
#  tuple((1, 2, 3, '五', '六'))
tuple1 = (1, 2, 3, '五', '六')
print(tuple1)  # (1, 2, 3, '五', '六')
# 优先掌握的操作:
# 1、按索引取值(正向取+反向取):只能取
print(tuple1[2])  # 3

# 2、切片(顾头不顾尾,步长)
# 从0开始切片到5-1, 步长为3
print(tuple1[0:5:3])  # (1, '五')

# 3、长度
print(len(tuple1))  # 5

# 4、成员运算in和not in
print(1 in tuple1)  # True
print(1 not in tuple1)  # False

# 5、循环
for line in tuple1:
    # print(line)
    # print默认end参数是\n

流程控制和文件处理代码:

'''
x=10
y=20
z=30
if x>y:
    print(x)
elif z>y:
    print(z)
else:
    print(y)
'''

'''
str='tank'
num=0
while num<3:
    name=input('请输入猜测的字符:').strip()
    if name=='tank':
        print('tank success!')
        break
    print('请重新输入')
    num+=1
'''
#参数一: 文件的绝对路径
# 参数二: mode 操作文件的模式
# 参数三: encoding 指定的字符编码
# f = open('file.txt', mode='wt', encoding='utf-8')
# f.write('tank')
# f.close()  # 关闭操作系统文件资源
# 读文本文件  r == rt
# f = open('file.txt', 'r', encoding='utf-8')
# print(f.read())
# f.close()
# 追加写文本文件
# a = open('file.txt', 'a', encoding='utf-8')
# a.write('\n 合肥学院')
# a.close()

函数代码:

# # 1.无参函数
# def login():
#     user = input('请输入用户名').strip()
#     pwd = input('请输入密码').strip()
#
#     if user == 'tank' and pwd == '123':
#         print('login successful!')
#
#     else:
#         print('login error!')
#
#
# # 函数的内存地址
# print(login)
#
#
# # 函数调用
# login()


# 2.有参函数
# username,password 用来接收外部传入的值
# def login(username, password):
#     user = input('请输入用户名').strip()
#     pwd = input('请输入密码').strip()
#
#     if user == username and pwd == password:
#         print('login successful!')
#
#     else:
#         print('login error!')
#
#
# # 函数调用
# # 若函数在定义时需要接收参数,调用者必须为其穿传参
# login('tank', '123')


# 3.空函数
'''
ATM:
    1.登录
    2.注册
    3.提现
    4.取款
    5.转账
    6.还款
'''

# # 登录功能
# def login():
#     # 代表什么都不做
#     pass
#
#
# # 注册功能
# def register():
#     # 代表什么都不做
#     pass
#
#
# # 还款功能
# def repay():
#     pass

# ...


'''
函数的参数:
'''
# 在定义阶段: x, y称之为形参。
# def func(x, y):  # x, y
#     print(x, y)
#
# # 在调用阶段: 10, 100 称之为实参。
# func(10, 100)


# '''
# 位置参数:
#     位置形参
#     位置实参
#     必须按照位置一一传参。
# '''
# # 在定义阶段: 位置形参
# def func(x, y):  # x, y
#     print(x, y)
# #
# # # 在调用阶段: 10, 100 称位置实参。
# func(10, 100)  # 10 100
#
# '''
# 关键字参数:
#     关键字实参
#     按照关键字传参。
# '''
# # 位置形参x, y
# def func(x, y):
#     print(x, y)
#
# # 在调用阶段: x=10, y=100称之为关键字参数。
# func(y=111, x=10)  # 10 111

# 不能少传
# func(y=111)  # 报错TypeError


# 不能多传
# func(y=111, x=222, z='333')  # 报错TypeError


'''
默认参数:
    在定义阶段,为参数设置默认值
'''

# def foo(x=10, y=20):
#     print(x, y)
#
# # 不传参,则使用默认参数
# foo()
#
# # 传参,使用传入的参数
# foo(200, 300)

# 函数的嵌套定义
def func1():
    print('from func1...')

    def func2():
        print('from func2...')


# 函数对象
print(func1)


def f1():
    pass


def f2():
    pass


dic1 = {'1': f1, '2': f2}

choice = input('请选择功能编号: ')
if choice == '1':
    print(dic1[choice])
    dic1[choice]()

elif choice == '2':
    print(dic1[choice])
    dic1[choice]()

x = 10


# 名称空间
# 函数的嵌套定义
def func1():
    # x = 20

    print('from func1...')

    print(x)  # 报错

    x = 30

    def func2():
        print('from func2...')


func1()

 

上一篇:day3


下一篇:day02 python基础