Python基础语法
1.注释
- 单行注释以“#”开头
#注释一
print("hello world")#注释二:python语言中,""与''用法相同
- 多行注释可以用#、’’’、或"""
#注释一
#注释二
'''
注释三
注释四
'''
"""
注释五
注释六
"""
print("hello world!")
2.多行语句
如果语句很长,我们可以使用反斜杠()来实现多行语句:
total= "I like for you to be still,"+\
"it is as though you were absent,"+\
"and you hear me from far away,"+\
"and my voice does not touch you."
print(total)
输出为连续的句子。
也可以用""“语句”""或’’‘语句’’'的方式。
variable变量
- 在使用变量之前,需要对其先赋值;
- 变量名可以包括字母、数字、下划线,但不能以数字开头;
- 对大小写敏感;
- 允许同时对多个变量赋值:a=b=c=1,也可以用一条语句给不同类型的变量赋值,中间用(,)隔开。
- 使用内置函数id()可以返回变量所指的内存地址。
a,b,c=1,2.0,"str"
print(a,b,c)#不换行输出
print(a)#换行输出
print(b)
print(c)
运算符
- 算数运算符
以下假设变量a=10,b=21。
运算符 | 描述 | 实例 |
---|---|---|
+ | 加,两个对象相加,也包括字符串拼接 | a+b输出结果为31 |
- | 减,得到负数或是一个数减另一个数 | a-b输出结果为-11 |
* | 乘,两个数组乘,或是返回一个被重复若干次的字符串 | a*b输出结果为210 |
/ | 除,x除以y | b/a输出结果为2.1 |
% | 取模,返回除法的余数 | b/a输出结果为1 |
** | 幂,返回x的y次幂 | ab为10的21次方** |
// | 取整,向下取接近商的整数 |
注:上表加粗部分为和之前所学知识不相同的地方,需注意。
a=10
b=21
c1=a+b
c2=a-b
c3=a*b
c4=b/a
c5=b%a
c6=a**b
c7=b//a
c8=-b//a
print(c1,c2,c3,c4,c5)
print(c6)
print(c7,c8)
输出为:
2.比较运算符
运算符 | 描述 |
---|---|
== | 等于 |
!= | 不等于 |
> | 大于 |
< | 小于 |
>= | 大于等于 |
<= | 小于等于 |
注:所有比较运算符与C语言中的用法相同,返回1表示真,返回0表示假。
3. 赋值运算符
=、+=、-=、*=、/=、%=、**=、//=,用法同C。
4.位运算符
运算符 | 描述 |
---|---|
& | 按位与 |
| | 按位或 |
^ | 按位异或 |
~ | 按位取反 |
a=0B00111100
b=0B00001101
print(a&b)#0000 1100
print(a|b)#0011 1101
print(a^b)#0011 0001
print(~a)#1100 0011(补码)
输出结果:
5.逻辑运算符
运算符 | 逻辑表达式 | 对应C语言 |
---|---|---|
and | a and b | a&&b |
or | a or b | a||b |
not | not a | !a |
a=20
b=10
print(a and b)#a为true,返回b
print(a or b)#a为true,返回a
print(not a)#a为true,返回false
运算符优先级
下表运算符从上到下优先级由高到低:
运算符 | 描述 |
---|---|
** | 指数 |
~ + - | 按位取反,一元加号和减号 (最后两个的方法名为 +@ 和 -@)? |
* / % // | 乘、除、取模、取整 |
+ - | 加,减 |
>> << | 右移,左移运算符 |
& | 位与 |
^ | | 位运算符 |
<= < > >= | 比较运算符 |
<> == != | 等于运算符 |
= %= /= //= -= += *= **= | 赋值运算符 |
not and or | 逻辑运算符 |
常用的:**>* / % //>+ ->&>^ |>and or not
数据类型
Python3 中有六个标准的数据类型:Number(数字)、String(字符串)、List(列表)、Tuple(元组)、Set(集合)、Dictionary(字典)。
1. Number(数字)
Python3 支持 int、float、bool、complex(复数),内置的 type() 函数可以用来查询变量所指的对象类型。
注:
- 不能以0(零)作为十进制数的开头(0除外);
- (python3)对于八进制数,必须以0o/0O开头;
- 十六进制必须以0X/0x开头。
a=2.2
print(type(a))
输出为:<class ‘float’>
或者用isinstance()函数,
a="字符串"
isinstance(a,str)
返回True。
注:Python支持复数,复数由实数部分和虚数部分构成,可以用a + bj,或者complex(a,b)表示,复数的实部a和虚部b都是浮点型。
数据类型强制转换:
2. String(字符串)
Python中使用( ‘) 、(" )或(’’’)或(’’’’)来创建字符串,同时使用反斜杠 \ 转义特殊字符。后三种引号形式在语义上没有差别,只是在形式上有些差别。其中单引号和双引号的字符序列必须在一行上,而三引号内的字符序列可以分布在连续的多行上。
字符串的截取的语法格式如下:
变量[头下标:尾下标]
示例:
str = 'Runoob'
print (str) # 输出字符串
print (str[0:-1]) # 输出第一个到倒数第二个的所有字符
print (str[0]) # 输出字符串第一个字符
print (str[2:5]) # 输出从第三个开始到第五个的字符
print (str[2:]) # 输出从第三个开始的后的所有字符
print (str * 2) # 输出字符串两次
print (str + "TEST") # 连接字符串
输出:
Python 使用反斜杠()转义特殊字符,如果不想让反斜杠发生转义,可以在字符串前面添加一个 r,表示原始字符串:
注:
1、反斜杠可以用来转义,使用r可以让反斜杠不发生转义。
2、字符串可以用+运算符连接在一起,用*运算符重复。
3、Python中的字符串有两种索引方式,从左往右以0开始,从右往左以-1开始。
4、Python中的字符串不能改变。
常用的转义字符
转义字符 | 说明 |
---|---|
\ | 续行符 |
\n | 换行符 |
\0 | 空 |
\t | 水平制表符,用于横向跳到下一制表位 |
" | 双引号 |
’ | 单引号 |
\ | 一个反斜杠 |
\f | 换页 |
\0dd | 八进制数,dd代表的字符,如\012代表换行 |
\xhh | 十六进制数,hh代表的字符,如\x0a代表换行 |
3. List(列表)
列表是写在方括号 [] 之间、用逗号分隔开的元素列表。列表中元素的类型可以不相同,它支持数字,字符串甚至可以包含列表(所谓嵌套)。和字符串一样,列表同样可以被索引和截取,列表被截取后返回一个包含所需元素的新列表。
列表截取的语法格式如下:
变量[头下标:尾下标]
示例:
list = [ 'abcd', 786 , 2.23, 'runoob', 70.2 ]
tinylist = [123, 'runoob']
print (list) # 输出完整列表
print (list[0]) # 输出列表第一个元素
print (list[1:3]) # 从第二个开始输出到第三个元素
print (list[2:]) # 输出从第三个元素开始的所有元素
print (tinylist * 2) # 输出两次列表
print (list + tinylist) # 连接列表
输出:
注:
1、List写在方括号之间,元素用逗号隔开。
2、和字符串一样,list可以被索引和切片。
3、List可以使用+操作符进行拼接。
4、List中的元素是可以改变的。
4. Tuple(元组)
元组写在小括号 () 里,元素之间用逗号隔开,元组中的元素不能修改,类型可以不相同。
示例:
tuple = ( 'abcd', 786 , 2.23, 'runoob', 70.2 )
tinytuple = (123, 'runoob')
print (tuple) # 输出完整元组
print (tuple[0]) # 输出元组的第一个元素
print (tuple[1:3]) # 输出从第二个元素开始到第三个元素
print (tuple[2:]) # 输出从第三个元素开始的所有元素
print (tinytuple * 2) # 输出两次元组
print (tuple + tinytuple) # 连接元组
注:
1、与字符串一样,元组的元素不能修改。
2、元组也可以被索引和切片,方法一样。
3、注意构造包含 0 或 1 个元素的元组的特殊语法规则。
4、元组也可以使用+操作符进行拼接。
5. Set(集合)
集合(set)是由一个或数个形态各异的大小整体组成的,构成集合的事物或对象称作元素或是成员。
基本功能是进行成员关系测试和删除重复元素。
可以使用大括号 { } 或者 set() 函数创建集合。
注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。
创建格式:
parame = {value01,value02,…}
或者
set(value)
示例:
student = {'Tom', 'Jim', 'Mary', 'Tom', 'Jack', 'Rose'}
print(student) # 输出集合,重复的元素被自动去掉
# 成员测试
if 'Rose' in student :
print('Rose 在集合中')
else :
print('Rose 不在集合中')
# set可以进行集合运算
a = set('abracadabra')
b = set('alacazam')
print(a)
print(a - b) # a 和 b 的差集
print(a | b) # a 和 b 的并集
print(a & b) # a 和 b 的交集
print(a ^ b) # a 和 b 中不同时存在的元素
输出为:
6. Dictionary(字典)
列表是有序的对象集合,字典是无序的对象集合。两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。
字典是一种映射类型,字典用 { } 标识,它是一个无序的 键(key) : 值(value) 的集合。
键(key)必须使用不可变类型。
在同一个字典中,键(key)必须是唯一的。
dict = {}
dict['one'] = "1 - 菜鸟教程"
dict[2] = "2 - 菜鸟工具"
tinydict = {'name': 'runoob','code':1, 'site': 'www.runoob.com'}
print (dict['one']) # 输出键为 'one' 的值
print (dict[2]) # 输出键为 2 的值
print (tinydict) # 输出完整的字典
print (tinydict.keys()) # 输出所有键
print (tinydict.values()) # 输出所有值
另外,字典类型也有一些内置的函数,例如clear()、keys()、values()等。
注:
1、字典是一种映射类型,它的元素是键值对。
2、字典的关键字必须为不可变类型,且不能重复。
3、创建空字典使用 { }。
4、数字、字符串、元组为不可变数据,列表、集合、字典为可变数据。
数据类型转换
函数 | 作用 |
---|---|
int(x) | 将x转换成整数类型 |
float(x) | 将x转换成浮点数类型 |
complex(real [,imag]) | 创建一个复数 |
str(x) | 将x转换成字符串 |
repr(x) | 将x转换成表达式字符串 |
eval(str) | 计算在字符串中的有效Python表达式,并返回一个对象 |
chr(x) | 将整数x转换成一个字符 |
ord(x) | 将一个字符x转换成它对应的整数值 |
hex(x) | 将一个整数x转换为一个十六进制的字符串 |
oct(x) | 将一个整数x转换为一个八进制的字符串 |
>>> repr("a")
"'a'
>>> a=9
>>> eval("a")
9
>>> chr(99)
'c'
>>> ord("a")
97
>>> hex(89)
'0x59'
>>> oct(43)
'0o53'
基本输入输出
- 使用input()函数输入
variable=input("提示文字")
在python3中,无论输入的是数字还是字符都将被作为字符串读取。如果想要接收数值,需要把接收到的字符串进行类型转换。
age=int(input("请输入数字:"))
- 使用print()函数输出
默认情况下,一条print()语句输出后会自动换行,如果想要一次输出多个内容,而且不换行,可以将要输出的内容使用逗号隔开。
print(18,3)
在输出时,也可以把结果输出到指定文件:
fp=open(r'D:\mot.tex','a+')#打开文件
print("命运给与我们的不是失望之酒,而是机会之杯。",file=fp)#输出到文件中
fp.close()
参考链接:
https://www.runoob.com/python3/python3-data-type.html
https://www.bilibili.com/video/av4050443/?p=4