python初入踩坑案例
python初入踩坑案例
python一入深如海,从此是路人
2020.5.8日,我初识python;2020.5.25,我依旧是新人。
这一段时间不能说学懂了啥,只能说从坑里爬到了啥。
谨以此篇以及以后的篇章,记录我的坑,成就一坦途。
坑一
python是一种语言,学说话就得先会单词,才能造句。
先来个下马威:
- 变量 变量的命名规范 ,这也就是你是谁 你叫啥的问题**。
在路上,如果有人喊一声‘哎’,没人会搭理他,但喊你名字,你即使不认识他,也会瞅他两眼。每个人都会出生,都会有自己的名字;人就是地球上的变量,起名有约束就是变量的命名规范。’高富帅‘,‘白富美’,‘王者荣耀’,‘支付宝’等这些网络用于如果是我的名字,我都豁不出去老脸出门。所以在给你的python儿子命名时,你也要考虑它出门时的脸面。
三不许,三可以,一区分:
+不要以数字开头
+不要使用中文
+不要使用关键字 if else True False print
+变量名可以使用字母,数字,下划线_
+严格区分大小写
- python的数据类型,这也就是语数外物化生史政生的别称
高中会有很多学科,共同填满你的学习生活。缺少哪一个,也考不上很好的大学;乐理,会有很多音符。缺少那个,也不会有袅袅余音。
和我的高考一样,python的数据类型也有六个
- 字符串类型
- 数字类型
- List列表类型
- tuple 元组类型的定义
- Dict字典类型
- set集合类型
现在分别介绍下各科,以及我对这些内容的感想
1. 字符串类型
- 单双引号都可以定义字符串
- 三引号也可以定义字符串
- 单双引号定义的字符串不能随意换行,需要在换行时指明换行符
- 字符串中的引号可以互相嵌套,但是不能嵌套自己(例如不能在单引号中嵌套单引号,除非转义)
- 字符串中可以使用转义字符,如 \r \n \t …
- 如果不想在字符串中实现转义字符可以在字符定义时加r
感觉这一部分不是重点,自己练两遍就可以掌握
2. 数字类型
- int 整型 即整数
- float 浮点类型 即小数
- complex 复数 即a+bj
- bool 布尔类型(True,False)只有对错两种情况
整形是重点,在以后的应用中要注意所需类型,尤其是数字字符串和整形的转换要注意区分。
bool常用,但不咋区分是否是bool类型
3. List列表类型
- 列表用来表示一系列数据,例如: 需要记录一组数字或其它数据
- 列表中存储的数据可以是任意类型的
- 在需要记录多个数据时,可以使用中括号进行定义 [],并且每个数据之间使用逗号分隔
- 列表中存储的每一组数据,称为元素
- 列表中存储的数据,可以通过下标的方式进行获取
- 列表中元素的值可以存储一个列表,称为 二级列表(二维列表) 或者 多级列表 (多维列表)
关于列表中的下标
0 1 2 3 4
['a','b',521,'pai',3.1415926]
-5 -4 -3 -2 -1
list=[1,-1,3.14,5+6j,'lumi',[1,2,3],{1,2,3},(1,2,3)]
print(list[5][0])==>1
4. tuple 元组类型的定义
- 在定义多个数据内容时,可以选择使用List列表类型
- 还可以使用元组类型来定义,
- 元组和列表非常像,都时用于存储多个数据时使用
- 元组使用小括号进行定义(),列表使用中括号进行定义
- 元组的最大特点就是值不能被改变
- 注意在定义元组时,如果元组中只有一个元素,那么需要加, 不然就不是元组类型了
vart = (1,2,3,'a','b')
# 元组的其它定义方式
vart = 1,2,3
还没用过元组,不知怎么应用
5. Dict字典类型
- 字典也是用于存储一组或多组数据时使用,使用大括号 {}来定义
- 字典是 键值对 的存储方式 name :admin
- 键和值之间使用冒号进行分隔,多组键值对之间使用逗号分隔
- 键必须是字符串或数字类型,值可以是任意类型
- 键名不能重复,值可以重复
'''#比如需要记录一本书的相关数据 书名,作者,价格,。。。
vard = {'title':'<<鬼谷子>>','author':'鬼谷子','price':'29.99'}
print(vard,type(vard))
{'title': '<<鬼谷子>>', 'author': '鬼谷子', 'price': '29.99'} <class 'dict'>
#获取字典中的值
print(vard['title'])
字典中的键不能重复使用,否则会覆盖
vard = {'a':10,'b':10,'c':20,'a':'aa',1:'abcdef','2':'2222'}
'''
字典有键值对,可以产生一一对应关系,方便对事物的定义,可以和列表综合起来,记录同一类型的多个数据.
6. set集合类
- set集合是一个 无序且元素不重复的 集合的数据类型
- set集合使用 中括号或者set()方法来定义
- 如果需要定义一个空集合时 只能使用 set()方法,因为大括号时定义的空字典
- 集合主要用于运算,交集,差集,并集,对称集合
a = {1,2,3,'a'}
#给集合添加元素
#a.add('b')
无法获取集合中的单个元素,但是可以添加和删除
a.discard('a')
print(a)
检查当前的元素是否在集合中
print(1 in a)
#集合主要用于运算,交集,差集,并集,对称集合
a = {1,2,3,'a','b'}
b = {1,'a',22,33}print(a & b) # 交集 {1, 'a'}
print(a - b) # 差集 {'b', 2, 3} a 集合有,b集合没有的
print(a | b) # 并集 {1, 2, 3, 33, 'a', 'b', 22} 两个集合,放到一起,并且去重
print(a ^ b) # 对称差集 {33, 2, 3, 'b', 22} ```
感觉这个在以后运算中会有很大空间。
3.类型转换,这就像数学应用到物理中吧
分为两种:1:自动类型转换 2:强制类型转换
1.自动类型转换
- 当两个不同的值进行运算时,结果会向更高的精度进行计算
- #True ==> 整型 ==> 浮点 ==> 复数
- a = 123
- b = True # 在和数字运算时 True转为数字1,False转为数字 0
- print(a+b)==>124
- print(12.5+22)==>24.5
- print(True+3.14)==>4.14
2.强制类型转换
- str() 可以把所有的其它数据类型转换为字符串类型
- int() 字符串转数字类型时,如果字符串中时纯数字,可以转换
其它容器类型不能转为数字int类型- float() 浮点类型的转换和int类型一样,不过转换的结果是浮点类型
- bool() 可以把其它类型转换布尔类型的True或False
下列情况转bool的结果是 False
‘’,0,0.0,False,[],{},(),set()- list() 列表
数字类型是 非容器类型,不能转换为列表
字符串 转换为列表时 会把字符串中的每一个字符当做列表的元素
集合 可以转换为 list列表类型
元组 可以转换为 list列表类型
字典 可以转换为 list列表类型,只保留了字典中的键- tuple() 元组
数字类型 非容器类型,不能转换为元组
其它容器类型的数据进行转换时,和列表一样- set() 集合
数字类型 非容器类型,不能转换为 集合
字符串,列表,元组 可以转为 集合 结果是无序的
字典转换为集合时,只保留了字典的键 key- dict() 字典
数字类型 非容器类型,不能转换为 字典
字符串不能直接转换为 字典
列表可以转换为字典,要求是一个二级列表,并且每个二级元素只能有两个值
元组可以转换为字典,要求是一个二级元组,并且每个二级元素只能有两个值
4.python 运算符 这里即数学运算了
没什么特别复杂的,练习下就好