1.课堂例子:
01初识python
#!/usr/bin/env python # -*- coding: utf-8 -*-# print('hello world!') ''' print('hello world!') ''' name = 'lyj' print(name)# id,type,value x = 10 y = 10''' python小计数池(python优化机制):在变量值产生后指定的范围内,在内存中事先开辟一块内存空间,然后分别把指定范围内的变量存放进去。 ''' print(id(x)) print(id(y))name = 'lyj' print(type(x)) print(type(name))# 判断值是否相等 print(x == y)# 判断id是否相等 print(x is y)# 常量(常量也是变量,在python中大家都规定只要是大写的变量都称之为常量) SCHOOL = '安徽工程大学'# 用户与程序交互 name = input('input your name:') pwd = input('请输入密码:')print(name, pwd) print(type(name), type(pwd))''' python2:raw_input()python3:input()''' # 整型int number = 100 # int(100) number2 = int(100) print(number) print(number2)# 浮点型 float sal = 15.0 sal2 = float(15.0) print(sal) print(sal2)# 字符串类型(可以分行输出) name = 'zhuxuening' name2 = "zhuxuening" content = ''' sdjahbdh safbjdj afsbj ''' # print(name, name2, content)# python中字符串可以相加、相乘 print('lyj ' * 5) print('lyj' + 'hello') print('lyj', 'hello')# 列表类型 # []括号内以逗号隔开,可存放多个不同类型的值。 list1 = ['lyj', 21, ['dl', 25]] print(list1[0]) print(list1[5][0])# 字典类型 # 在{}内,都逗号隔开,可存放多个值,每个值以key: value的形式存储 dict1 = {'name': "lyj", "age": 21} print(dict1["name"])# 布尔类型 # True or False print(10 == 10) # True print(10 == 11) # False# 注意: 所有数据类型都自带布尔, 0、None、空都为False# 格式化输出 # 可以在输出时给字符串类型做一次替换 # %s占位符,%d可以替换数字类型 number = input('请输入:') str1 = ''' 尊敬的用户,您的话费余额为%s元。''' % number print(str1)# for循环 list1 = [1, 2, 3, 4, 5] for line in list1:print(line)for line in range(1, 10):print(line)dict1 = {'name': "lyj", "age": 21} for key in dict1:print(key)print(dict1[key])
02 字符串的内置方法
# # 字符串的操作 str1 = 'my name is xxx, my age is 18。' # 1、按索引取值(正向取+反向取) :只能取 print(str1[3])# 2、切片(顾头不顾尾,步长)print(str1[3:7]) # 3 - (7-1)# 步长为2 print(str1[3:10:2])# 3、长度len print(len(str1))# 4、成员运算in和not in print('x' in str1) # True print('T' in str1) # False# 5、移除空白strip # 去除字符串左右两边的空格 str1 = ' my name is xxx, my age is 18。 ' print(str1) print(str1.strip())# 6、切分split # 会根据split()括号中的规则去切分字符串,然后把每一个值追加到列表中。 str2 = 'my name is xxx, my age is 18。' list2 = str2.split(' ') print(list2)# 7、循环 str2 = 'my name is xxx, my age is 18。' for line in str2:print(line) # print默认参数end="\n"print(line, end=" ") # 自定义end参数# 需要掌握的 str4 = ' my name is xxx, my age is 18。' str5 = 'my name is xxx, my age is 18。 '# 1、strip,lstrip,rstrip # l 去除左边的空格或指定符号 # r 去除右边的空格或指定符号 print(str4.lstrip()) print(str5.rstrip()) str4 = '***my name is xxx, my age is 18。' str5 = 'my name is xxx, my age is 18。***' print(str4.lstrip('*')) print(str5.rstrip('*'))# 2、lower(转换成小写),upper(转换成大写) str6 = 'my name is Zhu' print(str6.lower()) print(str6.upper())# 3、startswith,endswith (判断字符串首位是否成立) print(str6.startswith("my")) # True print(str6.startswith("MY")) # Falseprint(str6.endswith("Zhu")) # True print(str6.endswith("zhu")) # False# 4、format的三种玩法 # 方式一: 按照位置替换 str7 = 'my name is {}, my age is {}!' str7 = str7.format('Zhu', 18, 111) print(str7)# 方式二: 安装索引替换 str7 = 'my name is {0}, my age is {1}!' str7 = str7.format('Zhu', 18, 111) print(str7)# 方式三: 指名道姓替换 str7 = 'my name is {name}, my age is {age}!' str7 = str7.format(age=18, name='Zhu') print(str7)# 5、split,rsplit # 从左边开始切分、从右边开始切分# 6、join # 字符串拼接,会对列表中的数据按照某种标识进行拼接, # 列表中的值必须是字符串类型 name = 'tank' age = "18"sex = 1 print(':'.join([name, age])) # 报错expected str instance, int found # print(':'.join([name, age, sex]))# 7、replace str8 = 'old new' # 括号中第一个参数是旧参数,第二个参数是新参数 # 两个参数进行替换 str8 = str8.replace('old', 'python') print(str8)# 8、isdigit 判断字符串是否是数字 ID = input('请输入ID') print(ID) print(type(ID)) print(ID.isdigit())
03列表的内置方法
list1 = ['zhu', 18, 'female', 3.0, 9] # 优先掌握的操作: # 1、按索引存取值(正向存取+反向存取):即可存也可以取 # 正向取值 print(list1[4]) # 9 # 反向取值 print(list1[-2])# 2、切片(顾头不顾尾,步长) print(list1[1:5]) # 步长 print(list1[1:5:2])# 3、长度 print(len(list1))# 4、成员运算in和not in print('tank' in list1) # True print('tank' not in list1) # False# 5、追加 # 在列表末尾追加值 list1.append('张全蛋') list1.append('赵铁柱') print(list1)# 6、删除 # pop取出列表中的值print(list1.pop()) # ()默认不写为-1,取最后一位 print(list1.pop(0)) # tank level = list1.pop() # 取出列表中的老师等级并赋值给level变量 print(level) print(list1) # ['tank', 18, 'male', 3.0]# remove删除列表中的值 name = list1.remove('zhu') # 直接删除列表中的zhu,赋值给name为None print(name) print(list1) # [18, 'male', 3.0]# 7、循环 for line in list1:print(line)
2.字符串类型
(1)#int(整型)
在32位机器上,整数的位数为32位,取值范围为-2**31~2**31-1,即-2147483648~2147483647
在64位系统上,整数的位数为64位,取值范围为-2**63~2**63-1,即-9223372036854775808~9223372036854775807
(2)#long(长整型)
跟C语言不同,Python的长整数没有指定位宽,即:Python没有限制长整数数值的大小,但实际上由于机器内存有限,我们使用的长整数数值不可能无限大。
注:自从Python2.2起,如果整数发生溢出,Python会自动将整数数据转换为长整数,所以如今在长整数数据后面不加字母L也不会导致严重后果了。
注:在Python3里不再有long类型了,全都是int
(3)#complex复数型
(4)#bool型
#所有数据类型都自带布尔值 1、None,0,空(空字符串,空列表,空字典等)三种情况下布尔值为False 2、其余均为真
3.作业
name=" alex" #1)移除空格 print(name.strip()) #2)判断变量值是否以‘al’开头 print(name.startswith("al")) #3)判断变量值是否以‘X’结尾 print(name.endswith("X")) #4)将变量中的“l”替换为“p” name = name.replace('l', 'p') print(name) #5)将变量中的“l”分割 print(name.split("l")) #6)将变量中的值变成大写 print(name.upper()) #7)将变量中的值变成小写 print(name.lower()) #8)输出变量中的第二个字符 print(name.pop(1)) #9)输出变量中的前三个字符 print(name[0:3]) #10)输出变量中的后两个字符 print(name[-3:-1]) #11)输出变量中“e”所在的索引位置 print(name.find("e")) #12)获取子序列,去掉最后一个字符 print(name[0:-1])
运行结果;