python class 2

本节内容

  1. 推荐美剧
  2. 数据类型(部分内容)
  3. 数据运算
  4. 字符串操作
  5. 列表
  6. for
  7. while

 


一、推荐美剧

1、冰与火之歌    2、亡命之徒 3、西部世界


 

二、数据类型

1、数字

定义:a=1

特性:

1.只能存放一个值

2.一经定义,不可更改

3.直接访问

分类:整型,长整型,布尔,浮点,复数

 

1.1、 int 整型

>>> 10
10         --------->默认十进制
>>> oct(10)
'012'      --------->八进制表示整数时,数值前面要加上一个前缀“0”
>>> hex(10)
'0xa'      --------->十六进制表示整数时,数字前面要加上前缀0X或0x

在32位机器上,整数的位数为32位,取值范围为-2**31~2**31-1,即-2147483648~2147483647

在64位系统上,整数的位数为64位,取值范围为-2**63~2**63-1,即-9223372036854775808~9223372036854775807

 

1.2、 long 长整型

python2.*:a = 9223372036854775808L 注意,自从Python2起,如果发生溢出,Python会自动将整型数据转换为长整型,
所以如今在长整型数据后面不加字母L也不会导致严重后果了。
python3.*:长整型,整型统一归为整型

 

1.3、 bool 布尔值

True 和False
1和0

 

1.4、 float 浮点数

浮点数用来处理实数,即带有小数的数字。类似于C语言中的double类型,占8个字节(64位),其中52位表示底,11位表示指数,剩下的一位表示符号

 

1.5、 复数

不重要

 

 

2、字符串

定义:它是一个有序的字符的集合,用于存储和表示基本的文本信息,‘’或“”或‘’‘ ’‘’中间包含的内容称之为字符串

‘hello world’

2.1、 字符串常用操作

移除空白          

msg15 = ' Aelx  '
print(msg15.strip())  

分割         

msg20 = 'nihao 123'
print(msg20[0:3])  #分割切片

print(msg20.split())  #字符串切分成列表

长度        

print(len(msg20))  #查字符长度


索引

print(msg.index("e"))       #所在位置

print(msg[2])  #索引

切片

msg20 = 'nihao 123'
print(msg20[0:3])  #切片
print(msg20[0:])  #到结尾
print(msg20[:])  #到结尾
print(msg20[0:-1])  #到最后一个元素
print(msg20[2:7:2])  #加步长

 

3、 列表

 

定义:[]内以逗号分隔,按照索引,存放各种数据类型,每个位置代表一个元素
特性:
1.可存放多个值
2.可修改指定索引位置对应的值,可变
3.按照从左到右的顺序定义列表元素,下标从0开始顺序访问,有序

names = ["zhangsan","wangxu","5","asdf",'www',"3","lisi","lisi","123",""]

 

3.1 常用操作

切片

追加

插入

修改

删除

扩展

拷贝

统计

排序&反转

获取下标


三、数据运算

算术运算

比较运算

赋值运算

逻辑运算

成员运算

身份运算

位运算


 

四、字符串操作

1、基本操作

#去除空格
msg19 = '123ad asdf\n'
print(msg19.strip())  #移除左右空格
print(msg19.lstrip())  #移除左空格
print(msg19.rstrip())  #移除右空格

#切片
msg20 = 'nihao 123'
print(msg20[0:3])  #切片
print(msg20[0:])  #到结尾
print(msg20[:])  #到结尾
print(msg20[0:-1])  #到最后一个元素
print(msg20[2:7:2])  #加步长

#长度
print(len(msg20))  #查字符长度

#索引
print(msg20[2])  

#分割
print(msg20.split())   #以空格分割
print(msg20.split('l'))   #以"l"分割

2、有可能用到的操作

msg = "hello world"
print(msg.capitalize())  #首字母大写

print(msg.center(20))   #居中显示
print(msg.center(20,'*'))   #填充‘*’,居中显示

print(msg.count('l'))       #统计‘l’数量
print(msg.count('l',4,10))  #统计4-10‘l’数量
print(msg.count('l',4,-1))  #统计4-结尾‘l’数量

print(msg.find("d"))    #是否存在,所在位置
print(msg.index("e"))       #所在位置,不存在报错

print("{0} {1} {0}".format('name',"age"))
print("{}{}".format('name',"age","alex"))
print("{name}".format(name='alex'))

msg3 = '123aaa'
print(msg3.isalnum())   #判断是否是字母或数字
print(msg3.isalpha())   #判断是否是字母
print(msg3.isdigit())   #判断是否是Unicode数字,byte数字(单字节),全角数字(双字节),罗马数字

msg9 = "aA"
print(msg9.islower())  #是否都为小写
print(msg9.isupper())  #是否都为大写

msg13 = 'abc'
print(msg13.ljust(10,"*"))  #左对齐
print(msg13.rjust(10,"*"))  #右对齐

msg14 = 'Aelx'
print(msg14.lower())    #都转成小写
print(msg14.upper())    #都转成大写

3、那些我都想不到怎能用的操作

msg16 = 'my name is abcd  '
table=str.maketrans("abcd","alex")
print(msg16.translate(table))     #加密


msg17 = 'my name is abcd  '
print(msg17.zfill(20))      #不到20填充0

msg11 = " "
print(msg11.isspace())  #是否为空格

msg8 = "if "
print(msg8.isidentifier())  #是否包含关键字

msg1 = 'a\tb'
print(msg1.expandtabs(11))      #设定tab的数量

print(msg.endswith("d"))        #判断结尾是否为d

五、列表操作

names = ["zhangsan","wangxu","5","asdf",'www',"3","lisi","lisi","123",""]


#
names.append("zhangZhenxing")       #在后面增加
names.insert(2,"刘思佳")               #从第二个加入
names.insert(1,"sunhaitao")

#
names.remove("www")
del names[3]
names.pop(6)   #删除并返回
names.pop()   #删除最后一个


#
names[1] = "王旭"


#
print(names[-2])        #取倒数第二个
print(names[0::2])
print(names[-3:])       #取最后三个
print(names[:3])       #取前三个
print(names.index("5"))   #如果有返回下标
print(names.count("alex"))   #查查有多少个


#两个列表的合并
n2 = ["jack","rain",1,3,2,3,"*"]
names.extend(n2)    #不能放到print内执行
print(names)


#反转
names.reverse()    #不能放到print内执行
print(names)

#排序
#names.sort()
#print(names)     #py3不支持字符,数字混排

n5 = [1,2,34,4,54,6,76]
n5.sort()   #不能放到print内执行
print(n5)


#copy   
n3 = names.copy()    #不能放到print内执行
n4 = names
print(n3,id(names),id(n3))
print(n4,id(names),id(n4))


#统计
names.count(3)

 

六、for循环

猜名字之for循环

oldboy_age = 56

for i in range(3):
    input_age = int(input("pls input age:"))
    if input_age == oldboy_age:
        print("your right!")
        break
    elif input_age >  oldboy_age:
        print("bigger!")
    else:
        print("smaller!")
else:
    print("gun!")

 

七、while 循环

猜名字之while循环

age_of_oldboy = 56

count = 0
while count < 3:
    input_age = input("input oldboy age:")

    if input_age.isdigit():        #判断是否为数字
        input_age = int(input_age)
    else:
        print("pls digit!!!")
        continue

    if input_age == age_of_oldboy:     #判断是否正确
        print("right,you get it")
        break
    elif input_age > age_of_oldboy:
        print("wrong,think smaller")
    else:
        print("wrong.think bigger")

    count +=1
else:
    print("you have tried too many times..fuck off")

 

posted @ 2016-10-17 17:05  crazy_6  阅读(203)  评论(0编辑  收藏  举报