1.今日内容大纲
- 基础数据类型
- bool int str的转换
- int
- str的常用操作方法
- for循环(range)
2.具体内容
1.基础数据类型
python常用的基础数据类型6种。
int: 1 -10 20 100 ..... +-*/ 比较。
float: 1.23 3.14 .....
str: '太白barry' 存储少量数据。
bool: True False。
list: [1, 'abc', True, {'name': 'barry'}, (1,2,3), [22,33,44],{1,2}]
tuple : (1, 'abc', True, {'name': 'barry'}, (1,2,3), [22,33,44)
dict: {'name': 'barry', 'hobby': ['乒乓球', '足球']}
set: {1, 3, 'abc'}
2.bool str int 三者互换
-
int 与 str互换
# i = 100 # s1 = str(i) # print(s1,type(s1)) # 全部由数字组成的字符串可以转化成数字 # s1 = '123' # s1 = '123a' # i = int(s1) # print(i) # int bool # i = -10 # b1 = bool(i) # print(b1) # b1 = True # b2 = False # print(int(b1)) # print(int(b2)) # while 1: # pass # str bool b1 = True # print(str(b1),type(str(b1))) s1 = 'abc' s1 = ' ' s1 = '' print(bool(s1)) username = input('>>>') if username: pass else: print('请输入内容')
3.int
-
十进制转化成二进制
除二取余,逆序排列
42转化成二进制为:0010 1010.
-
二进制转化成十进制
0010 1010 0*2**0 + 1*2**1 + 0*2**2 + 1*2**3 + 0*2**4 + 1*2**5 = 42
-
课下任务:
十进制与八进制,十六进制的转换。
十进制转八进制:
八进制转十进制:
从右至依次乘八的几次幂,从0次幂开始
一直除以8,倒序取余
十进制转十六进制:
一直除以十六,倒序取余
十六进制转十进制:
从右至依次乘十六的几次幂,从0次幂开始
4.字符串str
-
索引与切片
字符串每个字符都是有对应的唯一索引的,索引是从左至右从0开始依次递增。
s1 = '太白barry' # print(s1[0]) # print(s1[2]) # print(s1[-1]) # print(s1[-2]) # 顾头不顾腚 # print(s1[0:4]) # print(s1[:4]) # print(s1[2:]) # print(s1[:]) # print(s1[:-2:2]) # print(s1[::]) # print(s1[:]) # 如果倒着取值,必须加反向步长 # print(s1[-1:-4:-1]) # # print(s1[-1:1:-2])
-
常用操作方法
对字符串的任何的操作都会形成一个新的字符串不会改变原来的。
-
count
s1="太白barry" print(s1.count("r"))
测试:
s1 = '太白barry' # print(s1[0]) # print(s1[2]) # print(s1[-1]) # print(s1[-2]) # 顾头不顾腚 # print(s1[0:4]) # print(s1[:4]) # print(s1[2:]) # print(s1[:]) # print(s1[:-2:2]) # print(s1[::]) # print(s1[:]) # 如果倒着取值,必须加反向步长 # print(s1[-1:-4:-1]) # # print(s1[-1:1:-2]) # count # s1 = 'barry babarr太白' # print(s1.count('a')) # print(s1.count('ba')) # print(s1.count('ba')) # print(s1.count('r',0,5)) # strip # 去除字符串两边的空格、换行符、制表符 # s1 = '\tbarr\ny ' # print(s1) # s1 = '\nbarry\t ' # print(s1.strip()) # print(s1) # strip与input搭配。 # username = input('请输入用户名:').strip() # if username == 'barry': # print('用户名正确') # startswith endswith s1 = 'barry babarr太白' # print(s1.startswith('b')) # print(s1.startswith('barry')) # print(s1.startswith('a',1,5)) # print(s1.startswith('ar',1,5)) # 自己尝试一个endswith # upper lower # 全部大写,全部小写 s1 = 'erWq5' # print(s1.upper()) # 验证码不区分大小写 # username = input('请输入用户名:').strip() # code = 'erWq5' # your_code = input('请输入验证码').upper() # if username == 'barry' and your_code == code.upper(): # print('登录成功') # else: # print('登录失败') # format 三种格式化输出 # msg = '我叫{} 今年{}岁 性别{}'.format('达哥', 20, 'laddyboy') # print(msg) # msg = '我叫{0} 今年{1}岁 性别{2},我绝对不改变{2}性别'.format('达哥', 20, 'laddyboy') # print(msg) # msg = '我叫{1} 今年{0}岁 性别{2},我绝对不改变{2}性别'.format(20, '达哥', 'laddyboy') # print(msg) # res='{name} {age} {sex}'.format(sex='male',name='egon',age=18) # print(res) # replace 替换,代替 # msg = '太白是python讲师,太白今年18岁,太白666' # m1 = msg.replace('太白', '男神') # m1 = msg.replace('太白', '男神',2) # print(m1,msg) # split 分割 # 字符串分割成列表 # s1 = '小花 张翼飞 行哥 小宋 建成 新闻' # print(s1.split()) # s1 = '|小花|张翼飞|行哥' # print(s1.split('|')) # name = 'abc123' # print(name.isalnum()) #字符串由字母或数字组成 # print(name.isalpha()) #字符串只由字母组成 # print(name.isdecimal()) #字符串只由十进制组成
-
5.for循环
-
语法
for 变量 in iterable: pass iterable: 可迭代对象,如果一个数据由多个元素组成,则可以成为可迭代对象,比如str.
-
测试
s1 = '太白金星456' # 内置函数 获取可迭代对象的元素的总个数 # print(len(s1)) # for i in s1: # print(i) # for i in s1: # print('太白') # break continue else 都可以使用 # for i in s1: # print(i) # if i == '金': # break # for i in s1: # print(i) # if i == '金': # continue # for else配合 与while else 一样 # range: 可以比作 自己可控制范围的数字列表 # print(range(1,10)) # print(list(range(1,10))) # for i in range(1,101): # print(i) # for i in range(0,101,2): # print(i) # # for i in range(10,0,-1): # print(i)