python自学教程变量_极简python教程02:基础变量,删繁就简

python极简教程已经开赛,如果错过说明可以回翻:

借这个机会,我再讲讲我的教程和其他网上的教程的区别:

1 我分享的内容,是我在工作中会高频使用的语法,是精华内容

2 我剔除了“冗杂”知识,你只需要get到我提到的重点,轻松入门不是梦

3 你可以敲代码学习,效果最佳;亦可以收藏,待有需求时粘来即用

这一场,主讲python的变量类型。

目标:熟悉python中的基础变量类型,以及我们该重点关注的知识点。

说明:Python 中的变量赋值不需要类型声明。

常用的python变量类型是:

counter = 100 #整型

miles = 1000.0 #浮点型

name = "John" #字符串

py_list = [123, 'john'] #列表

py_tuple = (123, 'john') #元组

py_dict = {'name': 'runoob','code':6734, 'dept': 'sales'} #字典

整型和浮点型,就是整数和小数,学过数学的都清楚,没什么说的,我从字符串开始说起。

01 字符串

【常用场景1】格式转换,eg:字符串、json 、字典类型之间的转换

#内置函数-字符串转json

str1 = "{'key':1,'value':2}"eval(str1)#一般转换采用此方法,但它有个问题,如果json中有null值,则无法使用,这时需要用到json库

importjson

json1= '{"key":null,"value":2}'dicts= json.loads(json1) #可将json的null替换为python能识别的None

print(dicts)

【常用场景2】单双引号使用

#双引号中的双引号需要转义

string1 = "hello,my,\"god\""

#单引号中的双引号不需要转义

string2 = 'hello, my "god"'

【常用场景3】多引号使用

#比如我们需要在py文件里写一条sql语句

sql_a = 'select * from asset where asset_create_at >= "2018-08-01"'

#注意每一个右引号左边都需要空格,写代码特别麻烦

sql_b = ('select *'

'from asset'

'where asset_id = "123456";')

sql_c= '''select * from asset where asset_create_at >= "2018-08-01"'''

#也可以在三个引号内随意写,这种写法更加方便,但要注意,实际字符串是包含了三行,即sql前面换行的\n和sql后面的换行\n(其实无伤大雅)

02 列表

列表的索引  重点必须掌握!!!

lst = ['a', 'b', 'c','d','e','f']

lst.append('g') #在列表尾部添加值

lst.pop(0) #删除索引位置的值

lst[0] #取index=0的值

lst[1:3] #取index从0开始(不包括),到index=3的值

列表遍历迭代  重点必须掌握!!!

li = ['a', 'b', 'c', 'd', 'e']#一般的遍历

for i inli:print(i)#带索引的遍历

for i, e inenumerate(li):print("index:",i,"element:",e)

【拓展场景1】:多列表迭代

#循环嵌套#缺点:代码复杂度高

x_list, y_list, z_list =[], [], []for x inx_list:for y iny_list:for z inz_list:

None#itertools标准库#缺点:不方便调试

from itertools importproductfor x, y, z inproduct(x_list, y_list, z_list):

None

【拓展场景2】:交集、并集、差集

a=[2,3,4,5]

b=[2,5,8]#交集

print(list(set(a).intersection(set(b))))#并集

list(set(a).union(set(b)))#差集

list(set(b).difference(set(a))) #b中有而a中没有的

list(set(a).difference(set(b))) #a中有而b中没有的

03 元组

如何理解:可以将元组当成不可编辑的list(一般很少用到该类型)

('a','b','c','d')

04 字典

如何理解:key-value键值对

取值  重点必须掌握!!!

personinfo = {'name': 'joe', 'age':'20', 'hobby':'football'}

personinfo['name']

遍历迭代  重点必须掌握!!!

personinfo = {'name': 'joe', 'age':'20', 'hobby':'football'}for k, v inpersoninfo.items():print(k, v)

【实用场景1】合并和复制

#合并

date_info = {'year': "2020", 'month': "01", 'day': "01"}

track_info= {'artist': "Beethoven", 'title': 'Symphony No 5'}

all_info= {**date_info, **track_info}#添加值

date_info = {'year': '2020', 'month': '01', 'day': '7'}

event_info= {**date_info, 'group': "Python Meetup"}#在复制/合并字典的同时重写特定的值

event_info = {'year': '2020', 'month': '01', 'day': '7', 'group':'Python Meetup'}

new_info= {**event_info, 'day': "14"}

【实用场景2】json和字典的转换  重点必须掌握!!!

importjson

data= {"spam" : "foo", "parrot" : 42} #把python对象转换成json

python_to_json =json.dumps(data)print(python_to_json)

json_to_python= json.loads(python_to_json) #将json转换成python对象

print(json_to_python)

05 拓展

isinstance:用来判断对象的类型,也可以判断一个对象是否是一个类的实例

#【常用场景1】:判断对象的类型

py_int = 1py_str= 'a'py_list= ['a','b']

py_dict= {'a':1,'b':2}

isinstance(py_int, int)#【常用场景2】:一个对象是否是一个类的实例

classC():passcc=C()

isinstance(cc, C)

format:用于组装和格式化数据

#【常用场景1】:装载字符串

py_str = "hello {0}".format("world")

py_str= "hello {}{}".format("great","world!")#【常用场景2】:装载列表

a = [1,2]

py_list= '列表第一个: {0}; 列表第二个: {1}'.format(a[0],a[1])

py_list= '列表第一个: {0[0]}; 列表第二个: {0[1]}'.format(a)#常用场景3:装载字典

student = {"name": "zhao", "age": 5}"My name is {} and my age is {}".format(student['name'],student['age'])"My name is {pig[name]} and my age is {pig[age]}".format(pig=student)

最后,一如既往,总结一下:

1 python的变量是python语法基础中的基础,重要中的重要

2 一定要上手实操一遍

另,我写的这些场景,如果你以后用不到,可以来打我;若有疑问,欢迎评论咨询~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值