python入门
在“python简介”中,我们已经大致了解了python,那么我们这次学一些基础的东西。学完这篇教程就达到计算机科学基础(B)要求的python编程水平啦!
基本数据类型
在python中,我们有以下数据类型:整数、浮点数、复数。
整数
1 | >>>66 |
二进制,八进制,十六进制
0b或0B 代表二进制
0o或0O 代表八进制
0x 或0X 代表十六进制
1 | >>>0b10 |
整数可以表示很大的数
1 | >>>google=10**50 |
运算符
+ 加法 5+10=15
- 减法 100-5=95
* 乘法 8*9=72
/ 浮点数除法 100/5=20.0
// 整数除法 100//5=20
% 模(求余) 9%4=1
** 幂 2**3=8
浮点数
浮点数也就是小数
1.23,3.14,-9.01
科学计数法:
1.23x10 9 就是1.23e9,
0.000012可以写成1.2e-5。
“e”的前后都不能空,”e”的后面要整数。
浮点数运算
1 | >>>2.1-2.0==0.1 |
复数
所谓复数,就是由实部(real)和虚部(imaginary)两部分组成的数,虚部用j 表示。
2+3j
8j
(7+1j)*1j
real 方法取实部,imag 方法取虚部 ,
complex() 函数用于创建一个值为 real + imag * j 的复数。
1 | >>>a=complex(2,1) |
数学库math的调用
math库是一个数学库,包含了很多的数 学常数和数学函数
要使用math库,先要用“import math”语 句引入math库
1 | >>>import math |
字符串、布尔值、空值
字符串是以’’或””括起来的任意文本,比如’abc’,”xyz”等等。请注意,’’或””本身 只是一种表示方式,不是字符串的一部分
1 | >>>"hello world" |
转义字符
\‘ 单引号
\“ 双引号
\a 响铃(我也还不知道什么意思)
\b 退格(Backspace)
\n 换行
\v 纵向制表符
\t 横向制表符
\r 回车
\f 翻页
\ooo 最多三位 八进制,例如:\12代表换行
\xyy 十六进制数,yy代表的字符,例如:\x0a代表换行
字符串运算符
1 | >>>"人生苦短"+" 我用Python" |
布尔值
- 一个布尔变量值只有True、False两种值, 要么是True,要么是False(请注意大小写)
- 布尔值可通过逻辑运算符和关系运算符计算出来。关系运算符是 <、 <=、 >、 >=、 ==和!=, 逻辑运算符是and、or和not。
空值
空值是Python里一个特殊的值,用None 表示。None不能理解为0
1 | >>>bool(None) |
运算符、运算优先级
关系运算符实例
1
2
3
4
5
6
7
8
9
10
11
12
13>>>1<3<5 #等价于1<3 and 3<5
True
>>>3<5>2
True
>>>1>6<8
False
>>>import math #sqrt是math 模块下的函数,导入math
>>>1>6<math.sqrt(9)
False
>>>‘Hello’> ‘world’ #ascii(‘H’) = 72 < ascii(‘w’) = 119
False
>>>‘Hello’> 3 #字符串和数字不能比较
TypeError: unorderable types: str()>int()逻辑运算符实例
```python
3>5 and a>3 #注意,此时并没有定义变量a
False
3>5 or a>3 #3>5的值为False,所以需要计算后面的表达式
NameError: name‘a’is not defined
3<5 or a>3 #3<5的值为True,不需要计算后面的表达式
True
3 and 5 #最后一个计算的表达式的值作为整个表达式的值
5
3 and 5>2
True
not 3
False
not 0
True1
2
3
4
5
6
7
8
9
10
11
12
+ 运算符的优先级和结合性实例
+ ```python
>>>3+5*4 #先乘后加
23
>>>5*3/2 #从左向右
7.5
>>>2**3**2 #从右向左
512
>>>3<5 or a>3 #从左向右
True
列表
列表可以由零个或多个元素组成,元素之间用逗 号分开,整个列表被方括号所包裹
1 | >>>empty_list = [ ] #空列列表 |
列表运算
1 | >>>weekdays[4]=5 |
内置转换函数
bool:根据传入的参数的逻辑值创建一个新的布尔值
int:根据传入的参数创建一个新的整数
float:根据传入的参数创建一个新的浮点数
complex:根据传入参数创建一个新的复数
str:创建一个字符串
ord:返回Unicode字符对应的整数
chr:返回整数所对应的Unicode字符
bin:将整数转换成2进制字符串
oct:将整数转化成8进制数字符串
hex:将整数转换成16进制字符串
list:根据传入的参数创建一个新的列表
1 | >>>bool('str') |
##int函数用法
1 | >>>int() #不传入参数时,得到结果0。 |
ord函数和chr函数
1 | >>>ord(‘a’) #ASCII码值 |
bin函数, oct函数, hex函数
1 | >>>bin(3) #0b为默认 |
str函数和list函数
1 | >>>str(123) |
表达式
表达式是可以计算的代码片段,由常量、变量和运算符或函数按规则构成,返回运算结果
计算表达式 cos(a(x+1)+b)/2,a等于2,x等于5,b等于 3
1 | >>>import math |
计算表达式:当n是奇数时为1,偶数时为0
1 | >>>n=int(input()) |
赋值,条件和for语句
Python语言常用的有赋值、if语句和for语句。语句通常是一行一条语句。如一行中有多条语句,则用分号(;)分开,如语句太长要跨行时,可以用续行符(\)跨行表示一个语句。
赋值语句
基本形式是“变量=值”的形式
1 | x=1 |
程序输出:3
序列赋值
1 | >>>x,y=4,8 |
交换a,b值
1 | a=int(input()) |
数量不等的序列赋值
1 | >>>i,*j=[1,2,3] |
多变量赋值
1 | >>>a=b=c=5 |
赋值和“+”、“-”、“*”和 “\”组合
1 | >>>i=2 |
条件语句
if语句
if 逻辑表达式:
语句块1
else:
语句块2
1 | x=int(input()) |
计算水费:为鼓励居民节约用水,自来水公司采取按用水量阶梯式计价的办法,居民应交水费y(元)与月用水量x(吨)相关:当x不超过15吨时,y=4x/3;超过后, y=2.5x−17.5,小数部分保留2位。请编写程序实现水费的计算
1 | x=float(input()) |
for语句
for variable in 列表:
语句块
for后面的变量先被赋给列表的第一个值, 并执行下面的代码块。然后变量被赋给列表中的第二个值,再次执行代码块。该过程一 直继续,直到穷尽这个列表。语句块缩进表示它是属于for代码块
遍历列表
1 | for i in [1,2,3,4]: |
输出:1 2 3 4
range函数
range(start,stop,step)。
start:计数从start开始。默认是从0开始。 例如range(5)等价于range(0,5)
stop: 计数到stop结束,但不包括 stop。
例如:list(range(0,5))是[0, 1, 2, 3, 4] 没有5
step:步长,默认为1。例如:range(0, 5)等价于range(0, 5, 1)
range函数实例
1 | list(range(10)) #从0开始到10,不包括10 |
sum函数
它可以求列表的和
如何求1+2+3+…+10的和?
1 | >>>sum([1,2,3,4,5,6,7,8,9,10]) |
输入n(n>=10),求 1+2+…+n之和。
1 | n=int(input()) |
输入n(n>=5)求n!
1 | n=int(input()) |
列表推导式
列表推导式是从一个或者多个列表快速简洁地创建列表的一种方法,又被称为列表解析。 它可以将循环和条件判断结合,从而避免语 法冗长的代码,同时提高程序性能。
[ expression for item in iterable ]
1 | >>>nl = [2*number for number in [1,2,3,4,5]] |
带条件的列表解析
[expression for item in iterable if condition]
1 | for number in range(1,8) if number % 2 == 1] number_list=[number |
求1+1/2+…+1/20之和
1 | print(sum([1/i for i in range(1,21)])) |
求 1-1/2+1/3-1/4+…之前n项和(n>=10)
1 | n=int(input()) |
列表推导式的if条件和条件表达式同时使用
求 1-1/3+1/5-1/7+…-1/47+1/49
1 | if i%4==1 else –i for i in range(1,50) if i %2==1] [i |
求 6+66+666+…+666…666
1 | n=int(input()) |
#格式化输出
format()函数是Python的内置函数,用来设置输出格式
1 | >>>x=3.14159 |
华氏-摄氏温度转换表:输入2个正整数lower和upper(lower<upper<100),请输出一张取值范 围为[lower,upper]、且每次增加2华氏度的华氏-摄氏温度转换表,小数 部分保留一位。温度转换的计算公式:C=5×(F−32)/9,其中:C表示摄 氏温度,F表示华氏温度。
1 | lower,upper=input().split() # 一行输入两个数,是字符串类型 |
结束语
本次内容到这就结束啦!有问题或错误欢迎联系QQ:515310897