Python基础
开启/关闭Python交互模式
开启:在命令行模式下敲命令python
退出:在Python交互模式下输入exit()并回车,就退出了Python交互模式,并回到命令行模式
Python语法细则
- 注释
以
#开头的语句是注释 - 没有
{}其他每一行都是一个语句,当语句以冒号:结尾时,缩进的语句视为代码块。 - 缩进 Python中的缩进十分重要。
- 大小写敏感
输入输出
输出
简单输出
如果要让Python打印出指定的文字,可以用print()函数,然后把希望打印的文字用单引号或者双引号括起来,==但不能混用单引号和双引号==。
print('hello, world')
不加单引号则看作是计算,如:
>>> print('100 + 200 =', 100 + 200)
100 + 200 = 300
输出变量
除了直接写name然后按回车外,还可以用print()函数
>>> name
'Michael'
>>> print(name)
Michael
多个字符串组合输出
⭐️用逗号**,**隔开,就可以连成一串输出:
>>> print('The quick brown fox', 'jumps over', 'the lazy dog')
The quick brown fox jumps over the lazy dog
print('hello,', name)
hello, Michael
输入
控制台输入
Python提供了一个input(),可以让用户输入字符串,并存放到一个变量里。
>>> name = input()
Michael
如果在其中加入字符串可以作为输入的提示:
x=input("请输入x=")# x为字符串
⚠️input()的返回值永远是字符串,如果想要转为其他类型,要嵌套一个数据类型来强制转换:
x=int(input("请输入x=")) # x为int型
文件IO
数据类型
整数
- Python可以处理任意大小的整数
- 十六进制
十六进制用
0x前缀和0-9,a-f表示,例如:0xff00,0xa5b4c3d2 - ⭐️用
__分割 对于很大的数,例如10000000000,很难数清楚0的个数。Python允许在数字中间以_分隔,因此,写成10_000_000_000和10000000000是完全一样的*。 - Python的整数没有大小限制
浮点数
用科学计数法表示,把10用e替代,就是1.23e9,或者12.3e8,0.000012可以写成1.2e-5。
Python的浮点数也没有大小限制,但是超出一定范围就直接表示为inf(无限大)。
字符串
字符串是以单引号*'*或双引号*"*括起来的任意文本,单引号和双引号均可以代表字符串,不过一般写成单引号用的多一点。
换行符
如果字符串内部有很多换行,用\n写在一行里不好阅读,为了简化,Python允许用'''...'''的格式表示多行内容
>>> print('''line1
... line2
... line3''')
line1
line2
line3
⭐️布尔值
布尔值只有True、False两种值(请注意大小写)。
布尔值可以用and、or和not运算。
⭐️空值
空值是Python里一个特殊的值,用None表示。
⭐️变量
-
变量名必须是大小写英文、数字和
_的组合,且不能用数字开头。 -
变量赋值不需要表注数据类型,Python自动匹配数据类型,非常简便。这种变量本身类型不固定的语言称之为动态语言,与之对应的是静态语言。
a = 123 # a是整数a = '123' # a变为字符串
常量
在Python中,通常用全部大写的变量名表示常量,但事实上PI仍然是一个变量,Python根本没有任何机制保证PI不会被改变,所以,用全部大写的变量名表示常量只是一个习惯上的用法。
PI = 3.14159265359
⭐️格式化
格式化要解决如何输出格式化的字符串,例如输出'亲爱的xxx你好!你xx月的话费是xx,余额是xx',而xxx的内容都是根据变量变化的。
⭐️方法一:占位符格式化(最常用)
和C语言基本上保持一致。
| 占位符 | 替换内容 |
|---|---|
| %d | 整数 |
| %f | 浮点数 |
| %s | 字符串 |
| %x | 十六进制整数 |
注意字符串与变量之间通过 % 间隔
>>> print ('Hello, %s' % 'world')'Hello, world'>>> print ('Hi, %s, you have $%d.' % ('Michael', 1000000))'Hi, Michael, you have $1000000.'
还可以指定是否补0和整数与小数的位数,与C语言一致:
>>> print('%2d-%02d' % (3, 1))3-01>>> print('%.2f' % 3.1415926)3.14
方法二:format()(不常用)
另一种格式化字符串的方法是使用字符串的format()方法,它会用传入的参数依次替换字符串内的占位符{0}、{1}……,不过这种方式写起来比%要麻烦得多:
>>> 'Hello, {0}, 成绩提升了 {1:.1f}%'.format('小明', 17.125)'Hello, 小明, 成绩提升了 17.1%'
方法三:f-string
最后一种格式化字符串的方法是使用以f开头的字符串,称之为f-string,它和普通字符串不同之处在于,字符串如果包含{xxx},就会以对应的变量替换:
>>> r = 2.5>>> s = 3.14 * r ** 2>>> print(f'The area of a circle with radius {r} is {s:.2f}')The area of a circle with radius 2.5 is 19.62
上述代码中,{r}被变量r的值替换,{s:.2f}被变量s的值替换,并且:后面的.2f指定了格式化参数(即保留两位小数),因此,{s:.2f}的替换结果是19.62。
运算
除法与地板除
/除法计算结果是浮点数,即使是两个整数恰好整除,结果也是浮点数:
>>> 9 / 33.0
还有一种除法是//,称为地板除,两个整数的除法仍然是整数:
>>> 10 // 33
要求精确的除法用/
编码问题
当Python解释器读取源代码时,为了让它按UTF-8编码读取,我们通常在文件开头写上这两行
#!/usr/bin/env python3# -*- coding: utf-8 -*-
第一行注释是为了告诉Linux/OS X系统,这是一个Python可执行程序,Windows系统会忽略这个注释;
第二行注释是为了告诉Python解释器,按照UTF-8编码读取源代码,否则,你在源代码中写的中文输出可能会有乱码。