我的第一节python课~~~
穹妹镇楼
为了巩固知识点,回顾总结之前先看一个好东西:
对象类型 | 类型名称 | 示例 | 简要说明 |
---|---|---|---|
数字 | int、float、complex | 1234, 3.14, 1.3e5, 3+4j | 数字大小没有限制,内置支持复数及其运算 |
字符串 | str | ‘swfu’, “I’m student”, ‘’‘Python ‘’’, r’abc’, R’bcd’ | 使用单引号、双引号、三引号作为定界符,以字母r或R引导的表示原始字符串 |
字节串 | bytes | b’hello world’ | 以字母b引导,可以使用单引号、双引号、三引号作为定界符 |
列表 | list | [1, 2, 3],[‘a’, ‘b’, [‘c’, 2]] | 所有元素放在一对方括号中,元素之间使用逗号分隔,其中的元素可以是任意类型 |
字典 | dict | {1:‘food’ ,2:‘taste’, 3:‘import’} | 所有元素放在一对大括号中,元素之间使用逗号分隔,元素形式为“键:值” |
元组 | tuple | (2, -5, 6), (3,) | 不可变,所有元素放在一对圆括号中,元素之间使用逗号分隔,如果元组中只有一个元素的话,后面的逗号不能省略 |
集合 | set frozenset | {‘a’, ‘b’, ‘c’} | 所有元素放在一对大括号中,元素之间使用逗号分隔,元素不允许重复;另外,set是可变的,而frozenset是不可变的 |
布尔型 | bool | True, False | 逻辑值,关系运算符、成员测试运算符、同一性测试运算符组成的表达式的值一般为True或False |
空类型 | NoneType | None | 空值 |
异常 | Exception、ValueError、TypeError | Python内置大量异常类,分别对应不同类型的异常 | |
文件 | f = open(‘data.dat’, ‘rb’) | open是Python内置函数,使用指定的模式打开文件,返回文件对象 | |
其他可迭代对象 | 生成器对象、range对象、zip对象、enumerate对象、map对象、filter对象等等 | 具有惰性求值的特点,除range对象之外,其他对象中的元素只能看一次 | |
编程单元 | 函数(使用def定义)类(使用class定义)模块(类型为module) | 类和函数都属于可调用对象,模块用来集中存放函数、类、常量或其他对象 |
一、输出函数Print()
- sep:多个参数输出的分隔字符,默认空格
print(6,5,4,sep='.')
输出:6.5.4
print(8,26,18 , sep=':')
输出:8:26:18
- end:输出结束时的字符,默认是换行符 \n
for i in range (5):
print(i,end = " ")
输出:0 1 2 3 4
for i in range(5):
print(i,end = ',')
输出:0,1,2,3,4,
二、变量名的规范
-
支持使用大小写字母、数字和下划线
-
数字不能为首字符
-
下划线作为首字符的变量在有特殊含义
-
变量的命名要以字母开头
-
变量名区分大小写字母,true和True不同
-
变量名不能使用关键字、系统内置模块名、函数名、类型名等
- 关键字不能做变量名
if in form assert def elif pass import raise return else is try yield nonlocal for and except True global while or finally False lambda continue None as del async
三、字符串:
单引号 ’ ‘或者双引号 " " 都可以,再或者 ‘’’ ‘’’ 三个引号,其中三个引号被用于过于长段的文字或者是说明,只要是三引号不完你就可以随意换行写下文字。
- 字符串能直接相加:
a = 'doqizeey'
print(a+'hello')
输出:doqizeeyhelllo
- 字符串相乘:
a = ha
print(a*3)
结果:hahaha
- input()函数:在第五章里面详讲哈(○` 3′○)
a = input()
print(a*3)
输入:3
输出:333
四、python输出:str.format
- <模式字符串>.format(<逗号分隔的参数>):
现在我们来做个宝贝(。・∀・)ノ:要求输出:‘Tom’,‘男’,40 :
1.默认按替换域出现的顺序输出:
print('{},{},{}'.format('Tom','男',40))
2.根据序号到format() 里查找序号对应的值进行填入:
print('{2},{1},{0}'.format(40,'男','Tom'))
3.给每一个变量赋值,按替换域的变量名顺序输出:
print('{name},{gender},{age}'.format(age = 40,gender='男',name='Tom'))
再来一个( ̄▽ ̄)":要求输出:姓名:Tom,性别:男,年龄:40
1.模板字符串中说明性字符串将被原样输出:
print('姓名:{},性别:{},年龄{}'.format('Tom','男',40))
- 格式限定符":"和类型说明符"f"公用控制浮点数输出精度
print('{:.2f}'.format(3.14159))
输出:3.14
- 严格按照给定精度输出:
print('{:.2f}'.format(3.00009))
输出:3.00
- 其他几种输出形式:
print('{0}, {1}, {2}'.format('a', 'b', 'c'))
输出:a, b, c
2.
print('{},{},{}'.format('a','b','c'))
输出:a,b,c
3.
print('{1},{0},{2}'.format('a','b','c'))
输出:b,a,c
print('{2},{1},{0}'.format(*'abc'))
输出:c,a,b
print('{0},{1},{0}'.format('ab'))
报错
print('{0},{1},{0}'.format('a','b'))
输出:a,b,a
五、人机交互—输入input()
- input()函数:读入的字符串不能直接用于数学运算
1.字符串重复:
s = input()
print(3*s)
输入:100
输出:100100100
2.字符串拼接:
a = input()
b = input()
print(a+b)
输入: 10 50
输出:1050
- int()函数:将整数输入转为可用于数学运算的整型
举个栗子(●’◡’●):输入矩形边长,求面积:
a = int(input())
b = int(input())
print(a*b)
a = input()
b = input()
print(int(a)*int(b))
- float()函数:将浮点数或整数输入转为可浮点类型
再举个栗子(●’◡’●):输入矩形边长,计算面积:
a = float(input())
b = float(input())
print(a*b)
- *eval()函数:可将输入当成有效的表达式来求值,eval()函数只进行计算,不会改变输入数据的类型*
a = eval(input())
b = eval(input())
print(a*b)
输入1:3 4
输出1:12
输入2:3.4 4.7
输出2:15.98
s = input()
print(s)
输入:10 + 50
输出:10 + 50
s = eval(input())
print(s)
输入:10 + 50
输出:60
六、运算符和表达式
- and和or具有惰性求值特点,只计算必须计算的表达式
3 not in [1, 2, 3] #False
3<5 or a>3 #True 3<5的值为True,不需要计算后面表达
七、内置函数
- range()语法格式为range(start, end , step),返回具有惰性求值特点的range对象,其中包含左闭右开区间[start,end)内以step为步长的整数。参数start默认为0,step默认为1。
- 今天老师上课出了一道很有意思的题,随便输入一个温度,如果是华氏温度,就转换为摄氏温度,反之亦然:
TempStr = input("请随机输入一个温度:")
if TempStr[-1] in ['F','f']:
C = (eval(TempStr[0:-1])-32)/1.8
print("转换后的温度是{:.2f}C".format(C))
elif TempStr[-1] in ['C','c']:
F = 1.8*eval(TempStr[0:-1])+32
print("转换后的温度是{:.2f}F".format(F))
else:print("你输入的不是温吧???")
最后我笔记真的丑,担人不丑