- input接收的任何数据默认都是字符串数据类型
- ⼀般将input接收的数据存储到变量
input("提示信息")
格式化输出
| 格式符号 | 转换 |
|---|---|
| %s | 字符串 |
| %d | 有符号的十进制整数 |
| %f | 浮点数 |
| %c | 字符 |
| %u | 无符号的十进制整数 |
| %o | 八进制整数 |
| %x | 十六进制整数 |
| %e | 科学计数法 |
| %g | %f和%e的简写 |
| f’ {表达式}’ | 更简易的格式化 |
- n: 换行
- t: 制表符
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)) #注释-- 整型 b = 1.1 print(type(b)) # -- 浮点型 c = True print(type(c)) # -- 布尔型 d = '12345' print(type(d)) # -- 字符串 e = [10, 20, 30] print(type(e)) # -- 列表 f = (10, 20, 30) print(type(f)) # -- 元组 h = {10, 20, 30} print(type(h)) # -- 集合 g = {'name': 'TOM', 'age': 20} print(type(g)) # -- 字典
-
单行注释用 # 注释内容
-
多行注释用 “”" 注释内容 “”" 或 ‘’’ 注释内容 ‘’’
""" 第⼀⾏注释 第⼆⾏注释 第三⾏注释 """ ''' 注释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循环嵌套
- while和for都可以配合else使⽤
- else下⽅缩进的代码含义:当循环正常结束后执⾏的代码
- break终⽌循环不会执⾏else下⽅缩进的代码
- continue退出循环的⽅式执⾏else下⽅缩进的代码
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())



