1.变量定义
Python的变量的类型不需要定义,只需要定义变量的名字,即a = 10
变量获取的值为什么类型,那么该变量的数据类型即为该类型
2.数据的输入
python的输入采用input(),可以增加输入时的提示语即input("请输入:")
需要注意的是python的默认输入的类型都是string字符串,那么在需要数字是需要对数据进行强制转化
如int(...), float(), str() 等等,涉及其他高级数据类型的转换暂时不提。
1 int = int(input("整数:")) 2 float = float(input("小数:")) 3 string = input("字符串:")
注意:当强制转换的数据类型,无法成功转换时,会报错,此时就需要进行try抛异常
1 try: 2 3 int = int(input("整数:")) 4 float = float(input("小数:")) 5 string = input("字符串:") 6 7 except ValueError: 8 print("传入无效参数!") 9 else: 10 print("成功!")
这里简单的运用一下异常处理的内容
3.函数
python的函数样式:def 函数名(<变量名>,<...>):
定义只需要一个关键字def,相对于其他语言,不需要设定返回类型
1 # 求和函数 2 3 4 def sum (a,b): 5 """求和""" 6 7 return a+b 8 9 # 缺省参数 10 11 12 def function(a,b = 50): 13 """函数 缺省参数""" 14 15 print(a + "-" + b) 16 return
介绍两种常用的传参方式,缺省参数的方式在传参时如没有传入b的值,那么b默认为50
在函数里的第一行一般采用多行注释的形式对函数进行描述,这样在调用时对函数名Ctrl+q,就会显示出对函数的注解,如下图所示:
最后,函数不管有没有返回类型,都加上return,表示结束
4.list列表
也可以称为数组,部分功能上结合了数据结构中栈的思想
1 # 创建列表和元组 2 list1 = ["aa", "bb", "cc", "dd"] 3 seq = ("ee", "ff") 4 5 # 长度 6 len(list1) 7 8 # 元组转换为列表 9 list2 = list(seq) 10 11 # 添加元素 12 list1.append(["ff"]) 13 list1.extend(list2) 14 print(list1) 15 16 # 查询元素索引位置 17 print(list1.index("ff")) 18 19 # 插入 20 list1.insert(0, ["gg"]) 21 print(list1) 22 23 # 移除 24 list1.pop(5) 25 print(list1) 26 list1.remove("ee") 27 print(list1) 28 list1.clear()
创建列表和元组,这边只介绍列表,元组就是不能改变值的列表,比较简单
获取列表的长度,采用len(),这个函数可以用在很多方面
添加元素,主要两个append和extend,两者都是只能在列表末尾添加,append能够保留原来格式,如添加的是一个列表,那么在显示是里面会嵌套一个列表
而extend是直接将对象里面的内容拆分成一个个进行添加
index比较简单,查询存在值的索引,如果值不存在会报错,采用这个方法需要注意
insert插入,传入两个变量插入的位置以及传入的对象
移出有三种,pop(int),删除指定位置的值,如果不填默认为末尾
remove(“值”),通过获取值来删除,这两种方式如果值或位置不存在都会报错
最后是clear,清空列表
5.字典
字典是通过key键值来获取对应的值
1 # 字典 2 dictionary = {"name": "hjhj"} 3 4 # 获取值 5 print(dictionary.get("name")) 6 7 # 更新 8 dictionary.update({"age": 20, "name": "aaaaaa"}) 9 print(dictionary)
字典是无序的,只有通过key值访问
通过列表和字典的综合使用,可以形成JSON格式的数据,对于网上抓取到的数据可以通过这种方式解析。
{"HeWeather":
[{"basic":{
"cid":"CN101190401",
"location":"苏州",
"parent_city":"苏州",
"admin_area":"江苏",
"cnty":"中国",
"lat":"31.29937935",
"lon":"120.61958313",
"tz":"+8.00",
"city":"苏州",
"id":"CN101190401",
"update":{
"loc":"2018-08-07 10:48",
"utc":"2018-08-07 02:48"}},
"update":{
"loc":"2018-08-07 10:48",
"utc":"2018-08-07 02:48"},
"status":"ok",
"now":{
"cloud":"6",
"cond_code":"104",
"cond_txt":"阴",
"fl":"37",
"hum":"70",
"pcpn":"0.0",
"pres":"1006",
"tmp":"33",
"vis":"20",
"wind_deg":"150",
"wind_dir":"东南风",
"wind_sc":"2",
"wind_spd":"9",
"cond":{
"code":"104","txt":"阴"}
},
"daily_forecast":[
{"date":"2018-08-07","cond":{"txt_d":"晴"},"tmp":{"max":"36","min":"28"}},
{"date":"2018-08-08","cond":{"txt_d":"晴"},"tmp":{"max":"36","min":"27"}},
{"date":"2018-08-09","cond":{"txt_d":"多云"},"tmp":{"max":"36","min":"27"}}],
"aqi":{
"city":{"aqi":"39","pm25":"23","qlty":"优"}},
"suggestion":{"comf":{"type":"comf","brf":"很不舒适","txt":"白天天气晴好,但烈日炎炎会使您会感到很热,很不舒适。"},"sport":{"type":"sport","brf":"较不宜","txt":"天气较好,但气温很高,风力较大,请减少运动时间并降低运动强度,户外运动须注意避风防晒。"},"cw":{"type":"cw","brf":"较适宜","txt":"较适宜洗车,未来一天无雨,风力较小,擦洗一新的汽车至少能保持一天。"}}}]}
6.字符串
字符串涉及的方法比较多,这里简单的介绍几个常见的
1 # 字符串 2 string = "asd fghjkla sdf" 3 4 # 计数 5 num = string.count("a") 6 print(num) 7 8 # 找索引 9 num2 = string.index("a") 10 print(num2) 11 12 # 获取指定位置字符 13 print(string[0]) 14 15 # 分割 16 list = string.split(" ") 17 print(list) 18 19 # 合并成字符串 20 list.insert(1, "ssssss") 21 string2 = " ".join(list) 22 print(string2)
-------------------------------------------------------------------------------------------------------------------------
暂时就到这