数据类型
两种基本类型
python中由两种基本类型,要么是字符串,要么是数字
数字[整数&浮点数]
(1)、python中使用表示乘方,比如33 = 333 , 3**2 = 3*3
print(3**2.5) 【3^2.5=15.588457268119896】
print(3**3) 【3^3 = 27】
(2)、Python3中,常规除法/,整除//
print(3/2) 【1.5】
print(3//2) 【1】
字符串
- 使用""和’'表示字符串
- 使用""“long string”""或者’’‘long string’’'表示一个跨越多行的长字符串
- 使用+拼接字符串
字符串方法
- string.title() —>将每个单词的首字母改成大写,以空格为间隔
- upper():将单词的所有字母改成大写
lower():将单词的所有字母改成小写- message = " hello world " .lstrip().rstrip():删除左边空格,删除右边空格,同时使用删除两边空格
这些方法只能应用于字符串,不能用于数字
优秀优秀,python中字符串居然可以做乘法[±/不能,只能*]
print(“hello”*20) 把hello打印20遍
类型转换
type()、int()等是python的内置函数
- type():查看变量的数据类型
- int() 转换为int形式,上下取整,比如12.99–>12
- float() 转换为float形式, 提供的参数不能是"abce"之类的
- str() 转换为str形式
比如:将数字转换为字符串形式:string = str(num)
列表&字典
列表[元组&切片]
列表由一系列按照特定排序的元素组成,类似数组,但是和数组不同的是,列表中可以存放任何东西 【大概是因为python是一种弱类型的语言】
1、列表是动态的,随时可以调用append、pop等方法增删元素。
0表示第一个元素,-1表示最后一个元素
(1).获取列表的长度
- len(names)
(2)添加元素
- append(newvalue):在元素的末尾添加一个空间,并且存储新的元素
- insert(index, newvalue):在索引index处添加一个空间并且存储新值,index后面的空间全部后移一位
(3)删除元素
- del name[index]:删除索引index处的空间以及元素
- popValue = pop(index):删除索引index处的空间以及元素,并且返回这个被删除的元素【和其他语言不同的是,pop(index)可以指定删除哪一个元素】
- remove(value):通过指定元素值将这个元素以及对应的空间删除,只会删除从列表中找到的第一个值,如果这个值在列表中出现了多次,可以通过循环来判断是否删除了所有这样的值
(4)修改元素
- nane[index] = newValue
2、排序
- sort方法:永久性的对列表进行排序,如果想要反转排序:names.sort(reverse=True)
- sorted(names):临时创建一个列表排序,不改变原来列表的顺序。反转:sorted(names, reverse=True)
- names.reverse():永久反转列表排列顺序
3、生成列表
- range(min, max):按照顺序生成一系列数字:从min开始,步长为1,直到<max。min可以省略,默认从0开始
- range(min, max, bu):按照顺序生成一系列数字:从min开始,步长为bu,直到<max
- range(max, min, -bu):按照顺序生成一系列数字:从max开始,步长为-bu,直到>min
- list(range(min, max)):将range(min, max)的结果转换成列表
- max, min, sun:计算数字列表的最大值、最小值和总和
- 列表解析:square = [value**2 for value in range(1, 11)]
- print(range(1, 5)):结果是range(1, 5),因为在python3中,range()函数不会提供一个数字列表,而是提供一个"可迭代"的东西,可以使用循环来遍历它
for i in range(10, 1, -3):
print(i)
字符串可以看成是一个字符列表
for i in "Hi this":
print(i)
4、切片
- 切片---->使用列表的一部分
- names[first:last]:获取索引在[first, last)里面的所有元素
5、元祖
(1)列表适合存储在程序运行期间可能变化的数据集。列表是可以修改的,不可以改变的列表叫做元组
- 列表:liebiao = [1, 3, 3]
- 元祖:yuanzu = (1, 2, 3)
(2)不要在元组中使用切片,虽然不会报错,但是结果不是你想要得
(3)可以通过yuanzu[index]获取值,但是不能通过yuanzu[index] = newValue修改响应index的值。如果想要修改元祖的值,请重新定义元祖yuanzu = (1, 2, 3, 5)
字典
python中字典是一系列键值对,相当于其他语言中的map
ali = {“color”:“green”, “point”:5}
- ali[“color”]:字典是通过键名来访问响应值的,字典中没有索引这个概念。我们必须确保每个键是唯一的。
修改值
- ali[“color”]=“red”
添加键值对
- ali[“newkey”]=newvalue 这样的方法来添加键值对【字典是动态的】
删除键值对
- del ali[“oldkey”]:oldkey必须已经存在字典中,否则会报错
查看
- ali.items():返回一个键值对列表
- ali.keys():返回一个键列表
- ali.value():返回一个值列表
遍历
*遍历字典,返回键值对:for k, v in ali.items():
- 遍历字典中的所有值:for k in ali.values():
- 遍历字典中的所有键:for k in ali.keys():
排序输出:python不关心键值对的存储顺序,如果想要顺序输出,必须:
- sorted(ali)和sorted(ali.keys)作用相同,都是临时对键进行排列。
去除重复值
- 字典中key不可以重复,但是值是可以重复的,如果想要去除重复值,请用set(ali.keys())
- 字典中可以嵌套字典
- 字典的值可以是列表,也就是说:可以一个键映射多个值
其他
- 变量名
1、 慎用l和o字母
2、 建议使用小写的python变量名
3、 python中使用_代替空格给变量取名
- 注释
添加注释的方法 : #注释
- 用户输入
1、 input():让程序暂停,等待用户输入一些文本字符串,python会将用户输入的值存储在一个临时变量中,可以将这个临时变量存储在一个变量中以供日后使用:message = input(“please input your name:”)
2、 int():用来输入数字
age = input("input your age:")
print(int(age))
- 查看内存地址:id(obj)
i = 5
print(id(i))
i = 5+1
print(id(i)) //和其他语言不一样,每次改变i的值,i的内存都会变【有一种解释,叫做贴标签:Python中所有常量都是由自己的内存自己的,这里由一个标签叫做i,先前i贴在常量5上面,然后又把i取下来,贴到6上面】---->靠,强烈不适,违反直觉
参考:学习Python编程:从入门到实践