输入
- input接收的任何数据默认都是字符串数据类型
- ⼀般将input接收的数据存储到变量
input("提示信息")
格式化输出
格式符号 | 转换 |
---|---|
%s | 字符串 |
%d | 有符号的十进制整数 |
%f | 浮点数 |
%c | 字符 |
%u | 无符号的十进制整数 |
%o | 八进制整数 |
%x | 十六进制整数 |
%e | 科学计数法 |
%g | %f和%e的简写 |
f’ {表达式}’ | 更简易的格式化 |
转义字符
- \n: 换行
- \t: 制表符
print结束符
print('内容', end="")
age = 19
name = 'Jayne'
weight = 50.5
student_id = 25
# 我的名字是Jayne
print('我的名字是%s' % name)
# 我的学号是0025
print('我的学号是%4d' % student_id)
# 我的体重是50.50公⽄
print('我的体重是%.2f公⽄' % weight)
# 我的名字是Jayne,今年19岁了
print('我的名字是%s,今年%d岁了' % (name, age))
# 我的名字是Jayne,明年20岁了
print('我的名字是%s,明年%d岁了' % (name, age + 1))
# 我的名字是Jayne,明年20岁了
print(f'我的名字是{name}, 明年{age + 1}岁了')
变量(关联对象的标识符)
- 合法变量名(只能是字母和下划线开头,后跟下划线,字母和数字): a a1 b bbb _aa AbcD var true
- 不合法变量名: 1a 123 +a -b A#B True if (命名不能是关键词)
- 类型:整型:int;浮点型:float;字符串:str;布尔型:bool;元组:tuple;集合:set;字典:dict;空格none
a = 1
print(type(a)) # <class 'int'> -- 整型
b = 1.1
print(type(b)) # <class 'float'> -- 浮点型
c = True
print(type(c)) # <class 'bool'> -- 布尔型
d = '12345'
print(type(d)) # <class 'str'> -- 字符串
e = [10, 20, 30]
print(type(e)) # <class 'list'> -- 列表
f = (10, 20, 30)
print(type(f)) # <class 'tuple'> -- 元组
h = {10, 20, 30}
print(type(h)) # <class 'set'> -- 集合
g = {'name': 'TOM', 'age': 20}
print(type(g)) # <class 'dict'> -- 字典
注释
-
单行注释用 # 注释内容
-
多行注释用 “”" 注释内容 “”" 或 ‘’’ 注释内容 ‘’’
"""
第⼀⾏注释
第⼆⾏注释
第三⾏注释
"""
'''
注释1
注释2
注释3
'''
函数 | 说明 |
---|---|
int(x [,base ]) | 将x转换为⼀个整数 |
float(x ) | 将x转换为⼀个浮点数 |
complex(real [,imag ]) | 创建⼀个复数,real为实部,imag为虚部 |
str(x ) | 将对象 x 转换为字符串 |
repr(x ) | 将对象 x 转换为表达式字符串 |
eval(str ) | 计算在字符串中的有效Python表达式,并返回⼀个对象 |
tuple(s ) | 将序列 s 转换为⼀个元组 |
list(s ) | 将序列 s 转换为⼀个列表 |
chr(x ) | 整数转换为Unicode字符 |
ord(x ) | 将字符转换为它的ASCII整数值 |
hex(x ) | 将整数转换为⼗六进制字符串 |
oct(x ) | 将整数转换为⼋进制字符串 |
bin(x ) | 将整数转换为⼆进制字符串 |
# 1. float() -- 转换成浮点型
num1 = 1
print(float(num1))
print(type(float(num1)))
# 2. str() -- 转换成字符串类型
num2 = 10
print(type(str(num2)))
# 3. tuple() -- 将⼀个序列转换成元组
list1 = [10, 20, 30]
print(tuple(list1))
print(type(tuple(list1)))
# 4. list() -- 将⼀个序列转换成列表
t1 = (100, 200, 300)
print(list(t1))
print(type(list(t1)))
# 5. eval() -- 将字符串中的数据转换成Python表达式原本类型
str1 = '10'
str2 = '[1, 2, 3]'
str3 = '(1000, 2000, 3000)'
print(type(eval(str1)))
print(type(eval(str2)))
print(type(eval(str3)))
运算符
混合运算优先级顺序: () ⾼于 ** ⾼于 * ;/; //; % ⾼于 + ;-
运算符 | 描述 | 实例 |
---|---|---|
+ | 加 | 1+1输出结果为2 |
- | 减 | 1-1 输出结果为 0 |
- |乘| 2 * 2 输出结果为 4
/ |除| 10 / 2 输出结果为 5
// |整除| 9 // 4 输出结果为2
% |取余 |9 % 4 输出结果为 1
** |指数| 2 ** 4 输出结果为 16,即 2 * 2 * 2 * 2
() |小括号|提⾼运算优先级,即(1 + 2) * 3 输出结果为 9
运 算 符 | 描述 | 实例 |
---|---|---|
= | 赋值 | 将=右侧的结果赋值给等号左侧的变量 |
+= | 加法赋值运算符 | c += a 等价于 c = c + a |
-= | 减法赋值运算符 | c -= a 等价于 c = c- a |
*= | 乘法赋值运算符 | c *= a 等价于 c = c * a |
/= | 除法赋值运算符 | c /= a 等价于 c = c / a |
//= | 整除赋值运算符 | c //= a 等价于 c = c // a |
%= | 取余赋值运算符 | c %= a 等价于 c = c % a |
**= | 幂赋值运算符 | c ** = a 等价于 c = c ** a |
太简单了,直接举例
a = 7
b = 5
print(a == b)
# 判断相等 False
print(a != b)
# 不相等 True
print(a < b)
# 左侧小于右侧 False
print(a > b)
# 左侧大于右侧 True
print(a <= b)
# 左侧小于等于右侧 False
print(a >= b)
# 左侧大于等于右侧 True
and 与 (T和F返回F)
or 或 (T和F返回T)
not 非 (T返回F,F返回T)
判断语句
if语句
# input接受⽤户输⼊的数据是字符串类型,条件是age和整型18做判断,所以这⾥要int转换数据类
型
age = int(input('请输⼊您的年龄:'))
if age >= 18:
print(f'您的年龄是{age},已经成年,可以上⽹')
print('系统关闭')
if else语句
age = int(input('请输⼊您的年龄:'))
if age >= 18:
print(f'您的年龄是{age},已经成年,可以上⽹')
else:
print(f'您的年龄是{age},未成年,请⾃⾏回家写作业')
print('系统关闭')
多重判断
age = int(input('请输⼊您的年龄:'))
if age < 18:
print(f'您的年龄是{age},童⼯⼀枚')
elif 18 <= age <= 60 :
print(f'您的年龄是{age},合法⼯龄')
elif age > 60:
print(f'您的年龄是{age},可以退休')
if嵌套
条件1 true执行条件2 false条件1不成立的代码
条件2 true条件2成立的代码 false条件2不成立的代码
# 假设⽤ money = 1 表示有钱, money = 0表示没有钱; seat = 1 表示有空座,seat = 0 表示
没有空座
money = 1
seat = 0
if money == 1:
print('顺利上⻋')
if seat == 1:
print('有空座,可以坐下')
else:
print('没有空座,站等')
else:
print('没钱,不能上⻋')
循环
while循环
1-100的累加和
i = 1
result = 0
while i <= 100:
result += i
i += 1 # 输出5050
print(result)
1-100的偶数累加和
i = 1
result = 0
while i <= 100:
if i % 2 == 0:
result += i
i += 1 # 输出2550
print(result)
for循环
逐个打印字母
str1 = 'itheima'
for i in str1:
print(i)
break,continue和else
- break——终⽌此循环
- continue——退出当前⼀次循环继⽽执⾏下⼀次循环代码
- else——当循环正常结束之后要执⾏的代码
- while和for都可以配合else使⽤
- else下⽅缩进的代码含义:当循环正常结束后执⾏的代码
- break终⽌循环不会执⾏else下⽅缩进的代码
- continue退出循环的⽅式执⾏else下⽅缩进的代码
while循环嵌套
99乘法表
#重复打印9⾏表达式
j = 1
while j <= 9:
# 打印⼀⾏⾥⾯的表达式 a * b = a*b
i = 1
while i <= j:
print(f'{i}*{j}={j*i}', end='\t')
i += 1
print()
j += 1
常用查找方法
查找
- find():检测某个⼦串是否包含在这个字符串中,如果在返回这个⼦串开始的位置下标,否则则返回-1
字符串序列.find(⼦串, 开始位置下标, 结束位置下标)
- index():检测某个⼦串是否包含在这个字符串中,如果在返回这个⼦串开始的位置下标,否则则报异常
字符串序列.index(⼦串, 开始位置下标, 结束位置下标)
- rfind(): 和find()功能相同,但查找⽅向为右侧开始。
- rindex():和index()功能相同,但查找⽅向为右侧开始。
- count():返回某个⼦串在字符串中出现的次数
字符串序列.count(⼦串, 开始位置下标, 结束位置下标)
修改
- replace 替换
字符串序列.replace(旧⼦串, 新⼦串, 替换次数)
- split 分割
字符串序列.split(分割字符, num) #返回个数为num+1个
- join 合并
字符或⼦串.join(多字符串组成的序列)
- capitalize():将字符串第⼀个字符转换成⼤写
- title():将字符串每个单词⾸字⺟转换成⼤写
- lower():将字符串中⼤写转⼩写
- upper():将字符串中⼩写转⼤写
- lstrip():删除字符串左侧指定的字符(默认为空格或换行符)或字符序列
- rstrip():删除字符串右侧指定的字符(默认为空格或换行符)或字符序列
- strip():删除字符串头尾指定的字符(默认为空格或换行符)或字符序列
- ljust():返回⼀个原字符串左对⻬,并使⽤指定字符(默认空格)填充⾄对应⻓度 的新字符串
- rjust():返回⼀个原字符串右对⻬,并使⽤指定字符(默认空格)填充⾄对应⻓度 的新字符串,语法和
ljust()相同 - center():返回⼀个原字符串居中对⻬,并使⽤指定字符(默认空格)填充⾄对应⻓度 的新字符串,语
法和ljust()相同
判断
- startswith():检查字符串是否是以指定⼦串开头,是则返回 True,否则返回 False。如果设置开
始和结束位置下标,则在指定范围内检查 - endswith()::检查字符串是否是以指定⼦串结尾,是则返回 True,否则返回 False。如果设置开
始和结束位置下标,则在指定范围内检查。 - isalpha():如果字符串⾄少有⼀个字符并且所有字符都是字⺟则返回 True, 否则返回 False。
- isdigit():如果字符串只包含数字则返回 True 否则返回 False
- isalnum():如果字符串⾄少有⼀个字符并且所有字符都是字⺟或数字则返 回 True,否则返回
False。 - isspace():如果字符串中只包含空⽩,则返回 True,否则返回 False
mystr1 = '1 2 3 4 5'
mystr2 = ' '
# 结果:False
print(mystr1.isspace())
# 结果:True
print(mystr2.isspace())