python基础语法
1.注释
单行注释
# print("hello python!")
多行注释
'''
print("hello python!")
print("hello python!")
print("hello python!")
print("hello python!")
print("hello python!")
print("hello python!")
print("hello python!")
'''
2.用\连接符
print("hello \
python")
3.查看变量地址
a = 3
print(id(3)) # 地址
print(type(3)) # 类型
4.引用的本质
变量成为:对象的引用。
变量存储的就是对象的地址,变量通过地址引用了“对象”。
变量位于:栈内存
对象位于:堆内存
python是动态类型语言
变量不需要显式声明类型。根据变量引用的对象,Python解释器自动确定数据类型
python是强类型语言
每个对象都有数据类型,只支持该类型的支持的操作
5.标识符
标识符:用于变量、函数、类、模块等的名称。
规则:
1、区分大小写
2、第一个字符必须是字母、下划线,其后的字符是:字母、数字、下划线
3、不能使用关键字
4、以双下划线开头和结尾的名称通常有特殊含义,尽量避免这种写法。
关键字:
import keyword
print(keyword.kwlist)
Python标识符命名规则
通常约定俗称遵循的规则
类型 | 规则 |
---|---|
模块和包名 | 全小写字母,尽量简单。若多个单词之间用下划线 |
函数名 | 全小写字母,多个单词之间用下划线隔开 |
类名 | 首字母大写,采用驼峰原则,多个单词时,每个单词第一个字母大写,其余部分小写 |
常量名 | 全大写字母,多个单词使用下划线隔开 |
6.变量的声明和赋值
格式:变量名 = 表达式
a = 3
删除变量和垃圾回收机制
a = 1
del a
如果对象没有变量引用,就会被垃圾回收器回收,清空内存空间。
链式赋值
a = b = 3
系列解包赋值
a,b,c=3,4,5 # 相当于 a=3;b=4,c=5
变量互换
a,b=1,2
a,b=b,a # 交换a,b
7.数据类型
- 整型:整数
- 浮点型:小数
- 布尔型:标识真假,仅包含:True、False
- 字符串型:由字符组成的序列
整数
运算
运算符 | 示例 | 结果 |
---|---|---|
+(加) | 3+2 | 5 |
-(减) | 3-2 | 1 |
*(乘) | 3*2 | 6 |
/(除) | 7/2 | 3.5 |
//(整除) | 7/2 | 3 |
%(取余) | 7%2 | 1 |
**(幂) | 2**3 | 8 |
除数为0,会产生异常
使用divmod()函数同事得到商和余数:
进制
二进制:0B
八进制:0O
十六进制:0X
类型转换
使用int()实现类型转换:
- 浮点数直接舍去小数部分
- 布尔值True转为1,Falsh转为0
- 字符串符合整数格式则直接转成对应整数(浮点数格式不行)
>>> int(1.1) # 舍去小数部分
1
>>> int(True) # True 1
1
>>> int(False) # False 0
0
>>> int("12345") # 字符串整数
12345
>>> int("123.45") # 浮点数不行
Traceback (most recent call last):
File "<pyshell#10>", line 1, in <module>
int("123.45")
ValueError: invalid literal for int() with base 10: '123.45'
>>> int("123abc") # 字母不行
Traceback (most recent call last):
File "<pyshell#11>", line 1, in <module>
int("123abc")
ValueError: invalid literal for int() with base 10: '123abc'
>>>
赋值运算符
运算符 | 例子 | 等价 |
---|---|---|
+= | a+=2 | a=a+2 |
-= | a-=2 | a=a-2 |
*= | a*=2 | a=a*2 |
/= | a/=2 | a=a/2 |
%= | a%=2 | a=a%2 |
//= | a//=2 | a=a//2 |
**= | a**=2 | a=a**2 |
转义字符
转义字符 | 解释 |
---|---|
(行尾) | 续行符 |
\ | 反斜杠符号 |
’ | 单引号 |
" | 双引号 |
\b | 退格(Bask space) |
\n | 换行 |
\t | 横向制表符 |
\r | 回车 |
字符串
字符串拼接
>>> 'aa'+'aa'
'aaaa'
>>>
字符串复制
>>> a = 'python'*3
>>> a
'pythonpythonpython'
>>>
字符串切片
格式:[起始偏移量:终止偏移量:步长]取头不取尾
格式 | 说明 | 结果(字符串为"python") |
---|---|---|
[:] | 提取整个字符串 | “python” |
[1:] | 从索引为1开始到结尾 | “ython” |
[:4] | 从头开始到索引为4 | “pyth” |
[1:4] | 提取从索引1到4之间 | “yth” |
[1:5:2] | 提取从索引1到5步长为2 | “yh” |
[-2:] | 倒数三个 | “on” |
[-3:-1] | 倒数第三个到倒数第一个 | “ho” |
[::-1] | 步长为负,反向提取 | “nohtyp” |
处理字符串内置函数
isalnum() #是否为字母或数字
isalpha() #检测字符串是否只由字母组成
isdigit() #检测字符串是否只由数字组成
isspace() #检测是否为空白符
isupper() #是否大写字母
islower() #是否小写字母
常用内置方法
获取时间:
import time
time.time() #1970年1月1日00:00:00开始至当前时刻的时间
获取关键字
import keyword
print(keyword.kwlist)
字符串的编码
python3支持Unicode
>>> ord('a') # 字符串转编码
97
>>> ord('A')
65
>>> ord('你')
20320
>>>
>>> chr(65) # 编码转字符串
'A'
>>> chr(97)
'a'
>>>
计算字符串长度:
>>> a = 'hello python!'
>>> a
'hello python!'
>>> len(a)
13
>>>
输出函数参数
print("",end='') # end='任意字符串' 不写end默认换行
从控制台读取字符串
>>> a = input("请输入字符串:")
请输入字符串:python
>>> a
'python'
>>>
未完待续!!!!