python学习第三章

时间:2022-06-28 18:38:06

基本数据类型

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是每个单词都是首字母大写.而区分单词是通过空格,或者特殊字符来区分的.