要想Python玩的好啊,基础必须学的好~
看完也不要羡慕,你也可以的,真有想法的话可以看文末
文末有明片~ 我还有不少之前储备的源码,教程,笔记之类的
目录
python基础储备点
1.1 变量
变量名只能包含字母、数字和下划线。变量名可以字母或下划线打头,但不能以数字打
头,例如,可将变量命名为message_1,但不能将其命名为1_message。
变量名不能包含空格,但可使用下划线来分隔其中的单词。例如,变量名greeting_message可行,但变量名greeting message会引发错误。
不要将Python关键字和函数名用作变量名,即不要使用Python保留用于特殊用途的单词,如print
变量名应该见名知义。如:student_name,学生姓名。
数字类型
十进制:每位用十种状态计数,逢十进一,写法是0~9。
二进制:每位用二种状态计数,逢二进一,写法是0b开头,后跟0或者1。
八进制:每位用八种状态计数,逢八进一,写法是0o开头,后跟0~7。
十六进制:每位用十六种状态计数,逢十六进一,写法是0x开头,后跟09,AF,a~f
数字是不可变类型变量
'''
@AUTHOR:惊蛰
@FILE:变量.py
@DATE:2022/1/26
'''
a = 10
print(id(a))
b = 10
print(id(b))
a = 20
print(id(a))
#int运算
print(a+b)
print(a-b)
print(a*b)
print(a/b)
#round函数 四舍五入
print(round(0.6))
#应用
age = 18
#小数 float
height = 172.5
money = 9999.9
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TcSTd7fK-1648814689034)(C:\Users\图灵python学院\Desktop\课件\1,python\images\2\2-1.png)]
字符串类型-str(string)
变量的的意义是为了记录使用数据,然后将其进行使用。字符串就是一连串的字符。
字符串是不可变类型变量
'''
@AUTHOR:惊蛰
@FILE:变量_str.py
@DATE:2022/2/7
'''
str1 = 'jingzhe'
print(id(str1))
str2 = 'jingzhe'
print(id(str2))
str1 = 'qiufen'
print(id(str1))
#应用--记录文本数据
#单引号
name = 'jingzhe'
#双引号
country = "中华人民共和国"
#三引号
text = '''
我去买几个橘子,
你就站在此地,
不要走动
'''
#注意,多引号的嵌套问题! 或者使用转义符 \
msg = "My name is jingzhe,I'm 18 years old!"
msg2 = 'My name is jingzhe,I\'m 18 years old!'
#字符串能运算吗?
name = '小明'
address = '湖南省长沙市岳麓区'
age = 18
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hTVIFawX-1648814689036)(C:\Users\图灵python学院\Desktop\课件\1,python\images\2\2-2.png)]
注释
注释:注解,解释的意思。程序添加注释能够增加程序的可读性,在团队开发中注释尤其重要。
'''
@AUTHOR:惊蛰
@FILE:注释.py
@DATE:2022/2/7
'''
#姓名
name = '惊蛰'
'''
作者:惊蛰
文件:注释
日期:2022/2/7
'''
列表类型-list
当需要存储多个数据时,前面的数字跟字符串已经不能满足需求了,这时需要用到列表类型。列表能存储多个数据元素,通常用于存储多个同类型数据,如姓名names。
列表使用索引来对应每一个列表中的值,从0开始,如取第一个值为:list_name[0],以此类推。
列表是可变类型变量
'''
@AUTHOR:惊蛰
@FILE:变量_list.py
@DATE:2022/2/7
'''
list1 = ['惊蛰','夏至','秋分']
print(list1)
print(id(list1))
list1[1] = '冬至'
print(list1)
print(id(list1))
#应用--记录复杂类型数据
#记录学生信息:姓名,年龄,爱好
student_info = [
['惊蛰',18,['看电影','打游戏']],
['夏至',16,['旅游','烹饪']],
['秋分',23,['听歌','打篮球']],
]
#取夏至的第一个爱好
print(student_info[1][2][0])
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3xND5UPr-1648814689036)(C:\Users\图灵python学院\Desktop\课件\1,python\images\2\2-3.png)]
元组类型-tuple
列表非常适合用于存储在程序运行期间可能变化的数据集,但是有时候需要存储不能更改的数据类型时,就可以使用到元组这一数据类型。
元组就是不可变的列表。
'''
@AUTHOR:惊蛰
@FILE:变量_tuple.py
@DATE:2022/2/8
'''
tuple1 = ('惊蛰',18,[33,34])
print(id(tuple1))
print(id(tuple1[2]))
print(id(tuple1[2][0]))
tuple1[2][0] = 100
print(tuple1)
print(id(tuple1[2]))
print(id(tuple1[2][0]))
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xmYRM0PO-1648814689037)(C:\Users\图灵python学院\Desktop\课件\1,python\images\2\2-4.png)]
字典类型-dict
列表与元组都能存储多个数据元素,但是对于每个元素的表达含义却又不是那么清晰。此时字典可以很好解决这个问题。字典是一系列键值对(key-value),每个键可以对应任意数据类型的值,访问值也是通过键来实现。
'''
@AUTHOR:惊蛰
@FILE:变量_dict.py
@DATE:2022/2/8
'''
student_info = {'name':'夏至','age':18,'爱好':['打篮球','听音乐']}
print(id(student_info))
print(id(student_info['爱好']))
print(id(student_info['爱好'][1]))
student_info['爱好'][1] = '看电影'
print(id(student_info))
print(id(student_info['爱好']))
print(id(student_info['爱好'][1]))
#存储多个学员信息,并拿到第2个学员的第2个爱好
students = [
{'name':'夏至','age':18,'爱好':['打篮球','听音乐']},
{'name':'秋分','age':23,'爱好':['游泳','爬山']},
{'name':'白露','age':19,'爱好':['逛街','健身']}
]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yTRyz97O-1648814689038)(C:\Users\图灵python学院\Desktop\课件\1,python\images\2\2-5.png)]
布尔类型-bool
布尔类型只有两种值,非真既假。多用于条件表达式。
'''
@AUTHOR:惊蛰
@FILE:变量_bool.py
@DATE:2022/2/9
'''
is_ok = True
is_ok = False
#判断条件表达式是否成立
print(10>5)
print(5>10)
1.2 用户交互
大多程序都需要同用户进行数据的交互,比如接收用户输入用户名与密码。使用input函数能够接收用户输入的数据。
输入-input
'''
@AUTHOR:惊蛰
@FILE:输入_input.py
@DATE:2022/2/9
'''
#接受用户输入的用户名与密码
username = input('请输入您的用户名:')
#input接收后全部是字符串类型,如果转成数字可以使用int()函数
password = input('请输入您的密码:')
输出-print
'''
@AUTHOR:惊蛰
@FILE:输出_print.py
@DATE:2022/2/9
'''
#输出单个值
print('hello world!')
#输出多个值
print('惊蛰','秋分','夏至')
#print函数有一个参数end,默认值为\n-换行,可以替换成其它字符
print('惊蛰')
print('惊蛰',end=' ')
print('惊蛰')
格式化输出
有时在输入一些固定的句式时,只需要替换一部分内容,比如:XXX,欢迎来学习python! 可以使用到以下三种格式化输出。
%号-格式化输出
'''
@AUTHOR:惊蛰
@FILE:%_格式化输出.py
@DATE:2022/2/9
'''
#填入内容的位置与%一一对应
res = 'hello,my name is %s'%'惊蛰'
res1 = 'hello,my name is %s, i\'m %s years old!'%('惊蛰',18)
#填入内容与key一一对应
res2 = 'hello,my name is %(name)s, i\'m %(age)s years old!'%{'age':18,'name':'秋分'}
print(res2)
str.format-格式化输出
'''
@AUTHOR:惊蛰
@FILE:format_格式化输出.py
@DATE:2022/2/9
'''
#位置对应
res = 'my name is {},i\'m {} years old!'.format('惊蛰',18)
#索引填值
res1 = '{0}{0}{1}{0}'.format('x','y')
#key填值
res2 = 'my name is {name},i\'m {age} years old!'.format(name='惊蛰',age=18)
f-string-格式化输出
'''
@AUTHOR:图灵学院-惊蛰
@FILE:格式化输出_f-string.py
@DATE:2022/2/9
'''
#填入变量名
name = '惊蛰'
age = 18
print(f'my name is {name},i\'m {age} years old!')
#填入表达式
print(f'9乘以9的结果为:{9*9}')
1.3 运算符
算术运算符
运算符 | 描述 | 实例 |
---|---|---|
+ | 加 - 两个对象相加 | a + b 输出结果 30 |
- | 减 - 得到负数或是一个数减去另一个数 | a - b 输出结果 -10 |
* | 乘 - 两个数相乘或是返回一个被重复若干次的字符串 | a * b 输出结果 200 |
/ | 除 - x除以y | b / a 输出结果 2 |
% | 取模 - 返回除法的余数 | b % a 输出结果 0(能整除的返回0(8%2不能整除的返回1(9%2) ) |
** | 幂 - 返回x的y次幂 | a**b 为10的20次方, 输出结果 100000000000000000000 |
// | 取整除 - 返回商的整数部分 | 9//2 4 |
比较运算符
运算符 | 描述 | 实例 |
---|---|---|
== | 等于 - 比较对象是否相等 | (a == b) 返回 False。 |
!= | 不等于 - 比较两个对象是否不相等 | (a != b) 返回 true. |
<> | 不等于 - 比较两个对象是否不相等。python3 已废弃。 | (a <> b) 返回 true。这个运算符类似 != 。 |
> | 大于 - 返回x是否大于y | (a > b) 返回 False。 |
< | 小于 - 返回x是否小于y。所有比较运算符返回1表示真,返回0表示假。这分别与特殊的变量True和False等价。 | (a < b) 返回 true。 |
>= | 大于等于 - 返回x是否大于等于y。 | (a >= b) 返回 False。 |
<= | 小于等于 - 返回x是否小于等于y。 | (a <= b) 返回 true。 |
赋值运算符
运算符 | 描述 | 实例 |
---|---|---|
= | 简单的赋值运算符 | c = a + b 将 a + b 的运算结果赋值为 c |
+= | 加法赋值运算符 | c += a 等效于 c = c + a |
-= | 减法赋值运算符 | c -= a 等效于 c = c - a |
*= | 乘法赋值运算符 | c *= a 等效于 c = c * a |
/= | 除法赋值运算符 | c /= a 等效于 c = c / a |
%= | 取模赋值运算符 | c %= a 等效于 c = c % a |
**= | 幂赋值运算符 | c = a 等效于 c = c a |
//= | 取整除赋值运算符 | c //= a 等效于 c = c // a |
逻辑运算符
运算符 | 描述 | 实例 |
---|---|---|
not | 取反 | |
or | 取或 | |
and | 取是 |
'''
@AUTHOR:惊蛰
@FILE:逻辑运算符.py
@DATE:2022/2/10
'''
#逻辑运算符 not or and
# not 将紧跟在后面的条件结果取反
print(not 5>10)
print(not True)
#数字类型转布尔 0为False 其它皆为True,包括正负数
print(not 10)
print(not 0)
#字符串类型转布尔 空与None为False 有字符为True
print(not '')
print(not '惊蛰')
# and 连接左右两个条件,两个条件为True结果为True
print(5>10 and 5>1)
print(5<10 and 5>1)
# or 两个条件只要其中一个为True,结果为True
print(5>10 or 5>1)
print('------------------')
#思考下列表达式,返回的值是?
value = 1 or 9
print(value)
value1 = 0 or 9
print(value1)
value2 = 0 or 8 or 9
print(value2)
#在or旁 数字会自动转成布尔类型,首先判断的一个值
#第一个值为True返回第一个值,为False则返回第二个值
value3 = 0 and 9
print(value3)
value4 = 1 and 9
print(value4)
value5 = 1 and 0
print(value5)
#在and旁 数字也会转成布尔类型 首先判断第一个值
#第一个值为True,第二个值也为True则返回第二个值,任意一个值为False则直接返回
#三者优先级为 ()>not>and>or
#下列表达式返回的值为?
res = 3>4 and not 4>3 or 1==3 and 'x'=='x' or 3>3
成员运算符
运算符 | 描述 | 实例 |
---|---|---|
in | 如果在指定的序列中找到值返回 True,否则返回 False。 | x 在 y 序列中 , 如果 x 在 y 序列中返回 True。 |
not in | 如果在指定的序列中没有找到值返回 True,否则返回 False。 | x 不在 y 序列中 , 如果 x 不在 y 序列中返回 True。 |
身份运算符
运算符 | 描述 | 实例 |
---|---|---|
is | is 是判断两个标识符是不是引用自一个对象 | x is y, 类似 id(x) == id(y) , 如果引用的是同一个对象则返回 True,否则返回 False |
is not | is not 是判断两个标识符是不是引用自不同对象 | x is not y , 类似 id(a) != id(b)。如果引用的不是同一个对象则返回结果 True,否则返回 False。 |
id:反映的是变量值的内存地址,内存地址不同id则不同
is 与 ==
is:比较左右两个值身份id是否相等
==:比较左右两个值他们的值是否相等
id不同的情况下,值有可能相同,即两块不同的内存空间里可以存相同的值
id相同的情况下,值一定相同,x is y成立,x == y也必然成立
小整数池[-5,256]从python解释器启动那一刻开始,就会在内存中事先申请好一系列内存空间存放好常用的整数
好处,我们之后使用整数就不需要申请内存空间往里面写了,因为你申请内存空间涉及到,给操作系统发请求。操作系统控制内存把数据写进去
| x is y, 类似 id(x) == id(y) , 如果引用的是同一个对象则返回 True,否则返回 False |
| is not | is not 是判断两个标识符是不是引用自不同对象 | x is not y , 类似 id(a) != id(b)。如果引用的不是同一个对象则返回结果 True,否则返回 False。 |
id:反映的是变量值的内存地址,内存地址不同id则不同
is 与 ==
is:比较左右两个值身份id是否相等
==:比较左右两个值他们的值是否相等
id不同的情况下,值有可能相同,即两块不同的内存空间里可以存相同的值
id相同的情况下,值一定相同,x is y成立,x == y也必然成立
小整数池[-5,256]从python解释器启动那一刻开始,就会在内存中事先申请好一系列内存空间存放好常用的整数
好处,我们之后使用整数就不需要申请内存空间往里面写了,因为你申请内存空间涉及到,给操作系统发请求。操作系统控制内存把数据写进去