手生了,重新回顾一遍基础。
查询关键字
>>> import keyword
>>> keyword.kwlist
['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']
多行语句
# 使用反斜杠(\),[], {}, 或 () 则不需要
string = "i love this country,"\
+"because it is very beautiful!"\
+ "how do you think about it?" \
+ "Do you like it too?"
pass
# 我只想说明这个func函数需要三个参数,具体执行什么并不重要
# 但是函数体内如果什么都没有,会出现语法错误
# 这个时候,pass就是最好的选择。
def func(a,b,c):
pass
空白字符与空白行
# 函数之间或类的方法之间用空行分隔,表示一段新的代码的开始。
# 类和函数入口之间也用一行空行分隔,以突出函数入口的开始。
# 变量赋值的时候等号左右各给一个空白。逗号后面跟一个空白。
#!/usr/bin/env python
# -*- coding:utf-8 -*-
lass Foo:
pass
def func(a, b):
pass
if __name__ == '__main__':
pass
字符串
python中单引号和双引号的作用完全相同
使用三引号('''或""")可以指定一个多行字符串
阅读错误调用栈的信息
def foo(s): #1
return 10 / int(s) #2
#3
def bar(s): #4
return foo(s) * 2 #5
#6
def main(): #7
bar('0') #8
#9
main() #10
----------------------------------------------------
Traceback (most recent call last):
File "F:/Python/pycharm/201705/1.py", line 10, in <module>
main()
File "F:/Python/pycharm/201705/1.py", line 8, in main
bar('0')
File "F:/Python/pycharm/201705/1.py", line 5, in bar
return foo(s) * 2
File "F:/Python/pycharm/201705/1.py", line 2, in foo
return 10 / int(s)
ZeroDivisionError: division by zero
----------------------------------------------------
Traceback...表示追踪错误开始,从上往下读
表示第10行、、、2行报错
多个变量赋值
a, b, c = 1, 2, 3 # 最后a是1,b是2,c是3.
3种除法
# 浮点
>>> 10 / 3
3.3333333333333335
# 整数除
>>> 10 // 3
3
# 余数
>>> 10 % 3
1
# 同时得到商和余数
>>> divmod(10,3)
(3, 1)
比较运算符
>>> True == 1
True
>>> False == 0
True
>>> 3>2>1
True
>>> 3>2>2
False
>>> (3>2)>1
False
>>> (3>2)>2
False
赋值运算符
a /= b等效于a = a / b
a //=b等效于a = a //b
身份运算符(id内存地址)
# is(is not)用于判断两个变量的引用是否为同一个对象,而==用于判断变量引用的对象的值是否相等
>>> a = [1, 2, 3]
>>> id(a)
2798038145480
>>> b=a
>>> id(b)
2798038145480
>>> b is a
True
>>> b ==a
True
>>> b = a[:]
>>> id(b)
2798009213640
>>> b is a
False
>>> b == a
True
>>> a = 3
>>> b = "3"
>>> id(a)
140712987878096
>>> id(b)
2604636893056
>>> id(a) == id(b)
False
>>> a == b
False
>>> a is b
False
三目运算符(三元表达式)
# 为真时的结果 if 判定条件 else 为假时的结果
True if 5>3 else False
以下表格列出了从最高到最低优先级的所有运算符:
运算符 | 描述 |
---|---|
** | 指数 (最高优先级) |
~ + - | 按位翻转, 一元加号和减号 (最后两个的方法名为 +@ 和 -@) |
* / % // | 乘,除,取模和取整除 |
+ - | 加法减法 |
>> << | 右移,左移运算符 |
& | 位 'AND' |
^ | | 位运算符 |
<= < > >= | 比较运算符 |
<> == != | 等于运算符 |
= %= /= //= -= += *= **= | 赋值运算符 |
is is not | 身份运算符 |
in not in | 成员运算符 |
not or and | 逻辑运算符 |
input输入函数
# 默认返回str字符型
>>> a = input("请输入一个字符:")
请输入一个字符: 前后带有空白
>>> a
' 前后带有空白 '
>>> type(a)
<class 'str'>
>>> b = a.strip() # strip的用法在字符串数据类型有讲述
>>> b
'前后带有空白'
>>> age = input("please input your age: ")
please input your age: 19
>>> age
'19'
>>> type(age)
<class 'str'>
print("程序前面部分执行完毕......")
input("请按回车继续......") # 在这里程序会暂停,等待你的回车动作
print("继续执行程序的后面部分......")
判断是否全是数字格式isdigit
age = input("请输入你的年龄: ")
if age.isdigit(): # 使用isdigit函数判断输入是否全是数字格式
age = int(age) # 将字符串转化为整数
print("你的年龄是: ", age)
else:
print("输入不合法!")
print输入函数
# print函数的原型:
print(self, *args, sep=' ', end='\n', file=None)
# sep参数: 分隔的符号,默认是一个空格;
# end参数: 打印后的结束方式,默认为换行符\n。如果,设置end='',则可以不换行,# 让print在一行内连续打印。活用print的参数,可以实现灵活的打印控制。
>>> a = "i am"
>>> b = "student"
>>> print(a,"a" , b, sep="*")
i am*a*student
print格式化两种输出
1.%百分号格式化
2.str.format()
符号 | 描述 |
---|---|
%c | 格式化字符及其ASCII码 |
%s | 格式化字符串 |
%d | 格式化整数 |
%u | 格式化无符号整型 |
%o | 格式化无符号八进制数 |
%x | 格式化无符号十六进制数 |
%X | 格式化无符号十六进制数(大写) |
%f | 格式化浮点数字,可指定小数点后的精度 |
%e | 用科学计数法格式化浮点数 |
%E | 作用同%e,用科学计数法格式化浮点数 |
%g | %f和%e的简写 |
%G | %f 和 %E 的简写 |
%p | 用十六进制数格式化变量的地址 |
符号 | 功能 |
---|---|
* | 定义宽度或者小数点精度 |
- | 用做左对齐 |
+ | 在正数前面显示加号( + ) |
<sp> | 在正数前面显示空格 |
# | 在八进制数前面显示零('0'),在十六进制前面显示'0x'或者'0X'(取决于用的是'x'还是'X') |
0 | 显示的数字前面填充'0'而不是默认的空格 |
% | '%%'输出一个单一的'%' |
(var) | 映射变量(字典参数) |
m.n. | m 是显示的最小总宽度,n 是小数点后的位数(如果可用的话) |
网友评论