基本数据类型
python的基本数据类型如下:
1. int ==> 整数. 主要用来进行数学运算
2. str ==> 字符串, 可以保存少量数据并进行相应的操作
3. bool==>判断真假, True, False
4. list==> 存储大量数据.用[ ]表示
5. tuple=> 元组, 不可以发生改变 用( )表示
6. dict==> 字典, 保存键值对, 一样可以保存大量数据
7. set==> 集合, 保存大量数据. 不可以重复. 其实就是不保存value的dict
二. 整数(int)
在python3中所有的整数都是int类型. 但在python2中如果数据量比较大. 会使用long类型. 在python3中不存在long类型
整数可以进行的操作:
bit_length(). 计算整数在内存中占用的二进制码的长度
a = 5 b = type(a) s = a.bit_length() print(s)
三. 布尔值(bool)
取值只有True, False. bool值没有操作.
关于不同的类型之前的转换问题,
str ----> int
int(str)
int ----> str
str(int)
bool ----> str
str(bool)
bool ---> int
int(True) 这个值为1
int(False) 这个值为0
str(bool)
str -----> bool
bool(str) 这里注意只有空字符是False 其他字符是True 举例"" 这种就是false ,或者s = None 这个也为false
另外关于这里空为false的问题,不止字符串,空元组,空列表都是false
如bool([]) ------> False
特点: 空:False .非空:True
int -----> bool
bool(int) 这里注意的是0是False,其他值为True
(True 和1的效率问题: 1的效率高.)
示例:
while 1: print("哈哈")
经典例题:
循环输入用户名,当用户输入enter键时,跳出程序.
while True: name = input("请输入用户的名字:") if not name: break else: print(name)
四. 字符串
索引 (字符串可以根据索引来取字符串里面的值)
示例:
s = "abcdefghijk" print(s[0]) print(s[5]) print(s[-1]) #倒数第一个 print(s[-5]) #倒数第五个
这里要注意的是:
正向是从0开始,反向是从-1开始
切片 (通过下标的索引来截取字符串的部分内容)
示例:
# s = "我想吃切糕.切糕没有芝麻好吃!" # print(s[2:4]) ## 切片. 顾头不顾腚. 前面的能取到. 后面的取不到 # print(s[4:1]) ## 顺序是从左往右切 # print(s[5:6]) # 把.给切出来 # print(s[:6]) #从头开始切 # print(s[6:]) #切到末尾 # print(s[:]) #切取全部 # print(s[6:99])#如果右边的数大于字符长度,那么切出右边全部. # print(s[-5:])#可以倒数,然后到最后
切片也可以设置步长,跳着切.
示例如下;
s = "abcdef,ghijklmn" print(s[1:4:2]) #按步长来切 print(s[-8:-1:2]) #也可以倒着切的 print(s[-1:-5:-1]) #反着取字符 print(s[8:1:-1]) #反着切数据 print(s[8:1:-2]) #按步长反着切
一些常用函数
s.capitalize() 单词首字符大写,不支持中文.如果第一个单词里面有非首字母大写,那么这个大写会被改成小写.也就是单词只能首字母大写.
s = "aleX and wusir gaoji" print(s.capitalize()) #第一个单词字母大写,如果第一个单词非第一个字符大写,那么这个会改为小写的.另外,这个只支持英文,不支持中文.
s.title() 每个单词的首字母大写,而区分每个单词方式是通过特殊字符或者空格.这里中文也算特殊字符的
s = "aleX_and wusir gaoji" print(s.title()) #title是每个单词都是首字母大写.而区分单词是通过空格,或者特殊字符来区分的.