今日作业
程序代码
>>>name = ' aleX'
>>>name1 = name.strip() # 1)移除name变量对应的值两边的空格,并输出处理结果
>>>print(name1)
aleX
>>>print(name.startswith('al')) # 2)判断name变量对应的值是否以 "al" 开头
False
>>>print(name.endswith('X')) # 3)判断name变量对应的值是否以 "X" 结尾
True
>>>name4 = name.replace('l','p') # 4)将name变量对应的值中的 ''l'' 替换为 "p",并输出结果
>>>print(name4)
apeX
>>>name5 = name.split('l') # 5)将name变量对应的值根据 "l" 分割,并输出结果
>>>print(name5)
[' a', 'eX']
>>>name6 = name.upper() # 6)将name变量对应的值变大写,并输出结果
>>>print(name6)
ALEX
>>>name7 = name.lower() # 7)将name变量对应的值变小写,并输出结果
>>>print(name7)
alex
>>>print(name[1]) # 8)请输出name变量对应的值的第 2 个字符
a
>>>print(name[0:3]) # 9)请输出name变量对应的值的前 3 个字符
al
>>>print(name[-2::]) # 10)请输出name变量对应的值的后 2 个字符
eX
>>>print(name.find('e')) # 11)请输出name变量对应的值中 "e" 所在索引位置
3
>>>name12 = name[0:-1] # 12)获取子序列,去掉最后一个字符
>>>print(name12)
ale
1.变量名(指向值所在的空间),等号,变量值
>>>name = 'Kermit'
>>>sex = 'male'
>>>age = 18
>>>level = 10
2.变量的定义规范
1. 变量名只能是 字母、数字或下划线的任意组合
2. 变量名的第一个字符不能是数字
3. 关键字不能声明为变量名['and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'exec', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'not', 'or', 'pass', 'print', 'raise', 'return', 'try', 'while', 'with', 'yield']
3.定义方式:
驼峰体
>>>AgeOfOldboy = 56
>>>NumberOfStudents = 80
下划线(推荐使用)
>>>age_of_oldboy = 56
>>>number_of_students = 80
4.定义变量名不好的方式
变量名为中文、拼音
变量名过长
变量名词不达意
5.定义变量会有:id,type,value
1. 等号比较的是value
2. is比较的是id
python小计数池(python优化机制):
在变量值产生后指定的范围内,
在内存中事先开辟一块内存空间,
然后分别把指定范围内的变量存放进去
#判断值是否相等
>>>print(x == y)
#判断id是否相等
>>>print(x is y)
强调:
1. id相同,意味着type和value必定相同
2. value相同type肯定相同,但id可能不同,如下
>>>x = 'Info Kermit:18'
>>>y = 'Info Kermit:18'
>>>id(x)
4376607152
>>>id(y)
4376607408
>>>x == y
True
>>>x is y
False
6.常量(全大写字母,也是变量,默认不变)
>>>SCHOOL = 'xxxxxx'
7.用户交互
>>>name = input('input your name:')
>>>name = input('input your pwd:')
>>>print(name,pwd)
8.注释
代码注释分单行和多行注释, 单行注释用#
多行注释可以用三对双引号""" """
代码注释的原则:
1. 不用全部加注释,只需要在自己觉得重要或不好理解的部分加注释即可
2. 注释可以用中文或英文,但不要用拼音
9.文件头
!/usr/bin/env python
-*- coding: utf-8 -*-
10. 基本数据类型
数据即变量的值,如age=18,18则是我们保存的数据。
变量的是用来反映/保持状态以及状态变化的,毫无疑问针对不同的状态就应该用不同类型的数据去标识
1.整型 int
>>>number = 100 # int(100)
>>>number = int(100) #两者等价
2.浮点型 float
>>>f = 15.0 # float(15.0)
>>>f = float(15.0)
3.字符串类型
>>>name = 'ABC'
>>>pwd = ''hfdsjkhf''
>>>context = '''jsdfh
dsjkfdhsk
sdfjk''' #多行定义字符串
#python字符串之间可以连接,相加、乘
>>>print(name*5)
>>>print(name+pwd)
>>>print(name,pwd)
字符串内置函数
list = [1,2,3,4,5]
str = 'abcdefghi '
1.按索引取值(正向取,反向取):只能取
>>>print(list[2])
3
>>>print(list[-1]) #反向取
5
2.切片取值(顾头不顾尾)
>>>print(str[2:4]) #2 ~ 3
cd
步长为2
>>>print(str[2:7:2]) #从2开始取,每隔一个取一次
cf
3.长度len
print(len(list))
4.成员运算in和not in
>>>print('x' in str)
False
>>>print('a' in str)
True
5.移除空白strip(去除字符串左右两边的空格)
>>>print(str.strip())
abcdefghi
6.切分split(根据split()括号中的规则,切分字符串,并追加到列表中)
>>>str2='abc def ghi'
>>>list2=str2.split()
>>>print(list2)
['abc','def','ghi']
7.循环
>>>for i in str2:
print(i,end = ' ') #自定义end参数
str3 = '***abc'
str4 = 'def***'
1. strip,lstrip(去除左边的符号),rstrip(去除右边的符号)
>>>print(str3.lstrip('*'))
abc
>>>print(str3.rstrip('*'))
def
2. lower(转换成小写),upper(转换成大写)
>>>str5 = 'abc'
>>>print(str5.upper())
ABC
3. startswith(判断开头),endswith(判断结尾)
>>>print(str5.startswith('ab'))
True
4. format用法
!----------方式1(按照位置替换)
>>>str6 = 'my name is {}, my age is {}!'
>>>str7 = str6.format('HY',23)
>>>print(str7)
my name is HY, my age is 23!
!---------方式2(按照索引替换)
>>>str6 = 'my name is {1}, my age is {0}!'
>>>str7 = str6.format(23,'HY')
>>>print(str7)
my name is HY, my age is 23!
!---------方式3(指名道姓替换)
>>>str6 = 'my name is {name}, my age is {age}!'
>>>str7 = str6.format(age = 23,name = 'HY')
>>>print(str7)
my name is HY, my age is 23!
5. split,rsplit(从右边切分)
6. join(字符串拼接)
name = 'hy'
age = '23'
print(':'.join([name,age]))
7. replace
>>>str8 = 'abc def'
>>>str8.replace('def','abc') #第一个参数是旧参数,第二个参数是新参数
>>>print(str8)
'abc abc'
8. isdigit(判断字符串是否是数字)
>>>ID = input('请输入ID')
>>>print(ID)
4.列表类型
#[]括号内以逗号隔开,可存放多个不同类型的值
>>>list = ['abc','def',11,1.0,['csv','xml']]
列表是可变类型:列表中的值改变后,内存地址不变
字符串是不可变类型:字符串值改变后,内存地址也改变
取列表值
>>>list = ['abc','def',11,1.0,['csv','xml']]
>>>print(list[0])
abc
>>>print(list[4][0])
csv
列表内置方法
>>>list = ['hy',23,'male',190,70]
1.按索引存取值(正向存取,反向存取),可存可取
>>>print(list[4])
70
>>>print(list[-2])
190
2.切片(顾头不顾尾,步长)
>>>print(list[1:5])
[23,'male',190,70]
>>>print(list[1:5:2])
[23,190]
3.长度
>>>print(len(list))
5
4.成员运算in和not in、
>>>print('hy' in list)
True
5.追加
>>>list.append('abc')
>>>list.append('def')
>>>print(list)
['hy',23,'male',190,70,'abc','def']
6.删除
>>>print(list.pop()) #最后一个
>>>print(list.pop(0)) #第一个
>>>>list.remove('hy') #pop有返回值,remove没有返回值
7.循环
>>>for i in list:
print(list)
5.字典类型
在{}内,以逗号隔开,可存放多个值,每个值以key:value形式存放
>>>dict = {'name':'csv','pwd':'123'}
>>>print(dict['name'])
csv
6.布尔类型
True or False
>>>print(10 == 10)
True
>>>print(10 == 11)
False
布尔类型的重点知识!!!:
所有数据类型都自带布尔值
1、None,0,空(空字符串,空列表,空字典等)三种情况下布尔值为False
2、其余均为真
11.格式化输出
可以在输出时给字符串类型做一次替换
%s,%d占位符可以替换一个数字类型
>>>str = '尊敬的用户,您的话费余额为%s元。' % 100
>>>print(str)
尊敬的用户,您的话费余额为100元。
12.for循环
迭代式循环:for,语法如下
for i in range(10):
缩进的代码块
>>>list = [1,2,3,4,5]
for i in list:
print(i)
1
2
3
4
5
for i in range(10): #0-9
pass
for i in range(3,10): #3-9
pass