python的基础
变量
变量: 可变化的量
变量名: 相当于变量值的门牌号,可以通过它获取变量的值。
= : 用于将 变量名与变量值 绑定关系的。
变量值: 变量值,是真实存放在内存中的数据。
例如:
name1 = 'tank'
name2 = 'Egon'
print(name1)
print(name2)
Python八大数据类型
注意: Python是一门动态语言,当我们在定义变量时,
判断你编写代码的类型,自动调用对应的类,得到对应类型的变量。
- Python中一切皆对象。
①- int: 整型
- 一般用于存放身份证ID、手机号、学院编号的值
- long(了解): 长整型,在Python已经将int 与 long 合并了。
例如:
phone_number1 = 123456 # phone_number = int(123456)
phone_number2 = int(123456)
stu_number1 = 1 # stu_number = int(1)
stu_number2 = int(1)
type(): 用于查看变量的类型
注意: 若想瞬间注释所有代码: 先选中需要注释的代码,然后 按 ctrl + / 实现。
例如:
print(type(stu_number1), type(stu_number2))
②- float: 浮点型
- 薪资、身高、体重
例如:
sal = 3.0 # 只要写的是小数,则会自动调用float()
height1 = 1.80 # height = float(1.80)
height2 = float(1.80)
print('height1', type(height1), 'height2', type(height2))
weight = 50
③- bool: 布尔类型
- 用于表示
- 真
- 假
- 一般通过表达式的判断,返回来的结果
- 条件成立返回True,否则返回False
例如:
print(1 == 2) # False
print(2 == 2) # True
④- str: 字符串类型
- 注意: 字符串,必须要有引号
- 单引号: 'tank'
- 双引号: "刘灿"
- 三引号: ''''''
- 姓名、家庭住址、作文...
例如:
name1 = '李一' # name1 = str('李一')
name2 = "张三" # name2 = str("张三")
name3 = '''李四''' # name3 = str('''李四''')
name4 = """王五""" # name4 = str("""王五""")
print(type(name1), name1)
print(type(name2), name2)
print(type(name3), name3)
print(type(name4), name4)
⑤- list: 列表类型
- 以 中括号 [] 表示, 括号内可以存放多个值,
每个值都以 逗号 隔开,每个值可以是任意类型的值。
列表的索引: 列表是用于存放多个值,但存不是目的,目的是为了将值取出来使用。
例如:
list1 = [100, 2.0, 'tank', ['play ball', 'book', 'music']]
列表取值: list1[索引]
print(list1[2]) # tank
获取所有爱好
print(list1[3]) # ['play ball', 'book', 'music']
获取music爱好
print(list1[3][2]) # ['play ball', 'book', 'music']
⑥- dict: 字典类型
- 在 大括号 {} 内, 可以存放多个值,
每个值都是以 key:value 的形式存储,
每个值以逗号隔开。
注意:
- key: 必须是字符串类型。
- value: 可以是任意类型
例如:
user_info = {'name': 'tank', 'age': 17, 'sex': 'male'}
字典取值: 字典的取值,是通过key来获取对应value的值
方式1: 在 字典后通过中括号取值,括号内写 存在字典中的key获取
伪代码: 若key不存在,则报错
例如:
print(user_info['name']) # 'tank'
print(user_info['sex']) # 'male'
方式2: 字典.get(key) 方式取值
例如:
print(user_info.get('name')) # tank
若key不存在,则返回None, 不会报错,保证程序正常
例如:
print(user_info.get('name2')) # None
⑦- tuple: 元组类型
- 以 中括号 () 表示, 括号内可以存放多个值,
每个值都以 逗号 隔开,每个值可以是任意类型的值。
- 元组只能存一次值一次,不能反复存值。
- 一般用于取值
例如:
tuple1 = ('高希雅', 18, 'female')
print(tuple1[2]) # female
⑧- set: 集合类型
- 无序集合: (默认自带去重功能。)
在大括号中可以存放多个值,每个值以 逗号 隔开。
与字典不一样的是,字典是每个值 以 key:value 的形式存储。
例如:
set1 = {1, 2, 3, 4, 4, 5, 5}
print(set1) # {1, 2, 3, 4, 5}
数据类型的内置方法
字符串的内置方法:
- 查看字符串的长度: len('字符串') ---> 可以查看 字符串、列表、元组、集合的长度
- 1)str.strip() ---> 根据指定字符,去重字符串两边的字符
- 2)str.split() ---> 对字符串进行切割,以某个特定的字符串作为分隔点
- 3)str.startswith() ---> 判断字符串开否的值
- 4)str.endswith() ---> 判断字符串结尾的值
- 5)str.join() ---> 字符串拼接
例如:
str1 = 'Lift is short, I need Python! '
print(len(str1))
1) 去除str1字符串中左右两边的空格
例如:
str2 = str1.strip()
print(str2, len(str2))
2) 根据 逗号 对str1字符串进行切割
根据逗号,对str1的值进行切割,有几个逗号就会切割几份,然后扔进列表中并返回
例如:
str3 = str1.split(',')
print(str3) # [' Lift is short', ' I need Python! ']
3)判断str1字符串开头是否是Lift
若成立则返回True,否则返回False
例如:
print(str1.startswith('Lift')) # True
判断str1开否是否是Python
例如:
print(str1.startswith('Python')) # False
4)判断str1字符串结尾是否是 空格
例如:
print(str1.endswith(' ')) # True
print(str1.endswith('Python')) # False
5) 字符串的拼接
例如:
name1 = '张全蛋'
doing = 'love'
name2 = '李春花'
字符串拼接: 字符串相加即可拼接字符串,但是拼接速度极低。
例如:
str5 = name1 + doing + name2
print(str5) # 张全蛋love李春花
join: 需要传入一个列表或元组,join会将里面所有的字符串取出来并拼接
例如:
str6 = ''.join([name1, doing, name2])
print(str6)
注意: 字符串不能与数字类型相加, 否则会报错
例如:
str7 = ''.join([name1, doing, name2, 100])
列表的内置方法:
- list.append() ---> 给列表末尾追加一个值
- list.pop() 相当于删除列表中的值 ---> 从列表中取值,默认从末尾取, 原列表中的值删除。
- 默认: pop(-1) # 从列表末尾取一个值
- 自定义: pop(0) # 从列表开头第一个值取, 根据索引取值
例如:
list1 = [1, 2, 3, 4]
给list1列表添加一个 值为 5
例如:
list1.append(5)
print(list1) # [1, 2, 3, 4, 5]
# 从list1中取出一个值
例如:
list1.pop()
print(list1) # [1, 2, 3, 4]
list1.pop(0) # 按照索引取值
print(list1)
字典的内置方法:
- dict.get(key) # 根据key,取出对应的值
- dict.update(字典) # 字典的拼接
配合for循环使用
- dict.keys() # 获取字典中所有的key
- dict.values() # 获取字典中所有的value
- dict.items() # 获取字典中的每一个值
例如:
dict1 = {'name': '白六', 'age': 25, 'sex': 'male'}
print(dict1.get('name')) #白六
dict2 = {'hobbies': ['唱歌', '开车', '打球']}
print(dict1)
print(dict2)
# 将dict1与dict2合并到一起, 将dict2合并到dict1字典中
例如:
dict1.update(dict2)
print(dict1)
获取dict1中所有的key
例如:
print('=' * 100, 'key值')
print(dict1.keys()) # 默认返回的是生成器对象
获取取出每一个key值并打印
例如:
for key in dict1.keys():
print(key)
获取dict1中所有的value
例如:
print('=' * 100, 'value值')
print(dict1.values())
for value in dict1.values():
print(value)
获取dict1中所有的 键值对 key:value
例如:
print('=' * 100, 'items值')
print(dict1.items())
for item in dict1.items():
print(item) # ('name', '曹七 ')
for key, value in dict1.items():
print(key, value) # key, value = ('name', '曹七')
赋值方式
解压赋值: 可以将列表、元组、或集合中的值,解压分别赋值给对应个数的变量名。
接收解压后值的个数若不对应,则会报错
例如:hobbies=["a","b","c",[1,2,"hello"]]
a1,a2,a3,a4=hobbies
print(a1,a2,a3,a4) 结果:a b c [1, 2, 'hello']
交叉赋值:
例如:m=1000
n=2000
m,n=n,m
print(m,n) 结果:2000 1000
链式赋值:
例如:a=b=1
Print(a)
Print(b) 结果: 1 1
程序与用户交互
例如:
user_input
= input('提示用户输入的内容:')
print(user_input)
流程控制:
- if ... elif ... else
语法:
if 条件判断:
# 若条件成立,执行此处
elif 条件判断:
# 若if判断不成则判断elif的条件
# 若条件成立,执行此处
else:
# 若if 或者 elif 的条件都不成立
# 则执行else下的代码
- 循环:
- while
语法:
while 条件判断:
# 条件成立,则执行代码,
# 否则,不执行
# 当循环体内,遇到break则退出循环
break
- for
语法:
for line in 列表/元组/字典:
print(line)
# 循环10次
for line in range(10): range(10)--->(0,1,2...9)
print(line) # 0—9的值
# if
x = 100
y = 200
判断两个值的大小
# if False:
if x > y: # 条件成立,返回True,否则返回False
print('x1:', x) # 100
elif x < 90:
print('x2:', x, '小于250...')
else:
print('y1:', y)
# 打印1—10的数
number = 1
while number < 11:
print(number)
number += 1
# 当number == 7时则退出循环
if number == 7:
break
print('=' * 100, 'for循环')
for line in range(10):
print(line)
格式化输出:
- 三种方式:
- 1) 通过占位符实现:
%s: 可以在字符串中占位,用于替换任意类型的值。
%d: 可以在字符串中占位,用于替换数字类型的值。
- 2)通过字符串的内置方法
str.format()
- 3) 通过新的语法 f'' 实现
1) 方式一
str1 = 'name is %s, age is %s!' % ('tank', 17)
print(str1) # name is tank, age is 17!
# %d必须是数字类型,否则报错
str_2 = 'name is %s, age is %d!' % ('tank', 17)
print(str_2)
2) 方式二: 三种形式
name = input('请输入您的名字: ')
age = input('请输入您的年龄:')
形式1:
str2 = 'name is {}, age is {}!'.format(name, age)
print(str2)
形式2:
str3 = 'name is {0}, age is {1}!'.format(name, age) # [name, age]
print(str3)
形式3:
str4 = 'name is {x}, age is {y}!'.format(x=name, y=age) # x = name, y = age
print(str4)
3) 方式二: f'' 新语法, 在Python3.5以后才出现,如果接触版本是老版本不允许使用。
str5 =f 'name is {name}, age is {age}!'
print(str5)
浙公网安备 33010602011771号