python注释
用处:注释用来书写一些解释性信息,对代码的逻辑作用等作出描述
单行注释、多行注释
1 # 这是单行注释,注释内容与# 之间要空一格
2
3 print("hello world!") # 这是代码后的注释,与代码之间要空两格
4
5
6 '''
7 这是多行注释,用三个单引号引起来
8 '''
9
10 """
11 这是多行注释,用三个双引号引起来也可以
12 """
与用户交互
输入
input() 来获取用的输入信息
python 2.x 中,input 获取到的数据是什么类型,传给变量的就是什么类型
而在python 3.x 中,input 获取到的数据在变量中都会被存储为字符串类型
python 2.x 中的 raw_input() 相当于3.x 中的 input(),获取到的数据都存为字符串类型
# 获取用户输入
name = input()
# 指定提示信息让用户输入
name = input('Please input your name: ')
输出
print() 来输出信息给用户
1 # 输出信息给用户
2 print("Wellcome!")
3 # Wellcome!
4
5 # -----------------格式化输出---------------------
6
7 # 获取用户输入的姓名与年龄并打印出来: My name is .... my age is ...
8
9 name = input('Please input your name: ')
10 age = input('Please input your age: ')
11
12 # 1---- , 分隔
13 print("My name is ", name, "my age is ", age)
14
15 # 2---- end = '' 取消换行多段拼接
16 print("My name is ", end = '')
17 print(name, end = '')
18 print(' my age is ', end = '')
19 print(age)
20
21 # 3---- %d %f / %s 占位符(个数与位置必须一致)
22 print("My name is %s my age is %s" %(name, age))
23
24 # 格式化输出
25 # 空格补齐 % 4d --->输出4位数,不足位数用空格补齐
26 print("**********************")
27 print("----% 4d----" %23)
28 print("----% 4d----" %123456)
29 # **********************
30 # ---- 23----
31 # ---- 123456----
32
33 # 保留两位小数 % 10.2f ---> 输出 十位数,含两位小数,不足的位数用 空格补齐
34 print("**********************")
35 print("***% 10.2f***" %3.1415926)
36 # **********************
37 # *** 3.14***
38
39 # 巧用 \t 制表符对齐 (也可以用 % 2d 来做)
40 i = 0
41 j = 0
42 for i in range(1,10,1):
43 for j in range(1,10,1):
44 if j <= i:
45 print("%d * %d = %d \t" %(i, j, i * j), end = '')
46 else:
47 break
48 j += 1
49 print("")
50 i += 1
51
52 # 1 * 1 = 1
53 # 2 * 1 = 2 2 * 2 = 4
54 # 3 * 1 = 3 3 * 2 = 6 3 * 3 = 9
55 # 4 * 1 = 4 4 * 2 = 8 4 * 3 = 12 4 * 4 = 16
56 # ..............................
tips: %.2f 会四舍五入(a = 2.8365 print("%.2f" %a) --> 2.84 )
1 # int
2 a = 15.269
3 a = int(a * 100)
4 a = a / 100
5 print("%.2f" %a)
6 # 15.26
7
8 # -0.005 (零点零..几看保留几位)
9 a = 15.269
10 a -= 0.005
11 print("%.2f" %a)
12 # 15.26
# Python3.6新增了一种f-字符串格式化
# 格式化的字符串文字前缀为’f’和接受的格式字符串相似str.format()。它们包含由花括号包围的替换区域。替换字段是表达式,在运行时进行评估,然后使用format()协议进行格式化。
# formatted string literals, 以 f 开头,包含的{}表达式在程序运行时会被表达式的值代替。
a = 10
c = '121212'
print(f'a = {a}')
# a = 10
print(f'c = {c}')
# c = 121212
python基本数据类型
int: 整数型,用于存储诸如年龄、个数等数据,age = 18
python 2.x 中还有一个长整型( long )的类型,但在python 3.x 中int 是一个可自动扩展的数据类型
float: 浮点型,用于存储价钱、月薪等数据,salary = 160000.00
str: 字符串型,用于存储描述性信息,如 jason = “jason今年18岁,瘦高瘦高的”
# 字符串类型定义的几种方式
a = 'halo'
b = "thank you"
c = '''
thank you
'''
d = """
thank you very much !
"""
# 字符串的相加运算
a = "hello "
b = "world"
print (a + b)
# hello world 字符串相加
# 字符串的相乘运算
a = "hands your hand up! "
print(a * 3)
#hands your hand up! hands your hand up! hands your hand up!
list: 列表类型,用于存储多个任意类型的数据,如 hobby = ['sing', ['jump', 'dance'], 'rap', 'basketball']
dict: 字典类型,用于多组数据,存储数据有对应的描述,如 jason = {'name': "jason", 'age': 18}
key通常是描述性信息,通常是字符串类型,是不可变类型
value可以是任意类型
字典存储的元素是无序的,与列表不同,故不能用索引值来取值
1 # 取 sleep ----> list 的索引是从0 开始的
2 stu = [
3 ['egon', 18, ['play',]],
4 ['alex', 18, ['play', 'sleep']]
5 ]
6 print(stu[1][2][1])
7 # sleep
8
9
10 # 取出公司地点
11 info={
12 'name':'egon',
13 'hobbies':['play','sleep'],
14 'company_info':{
15 'name':'Oldboy',
16 'type':'education',
17 'addr':'shanghai qingpu e',
18 }
19 }
20 print(info['company_info']['addr'])
21 # shanghai qingpu e
bool: 布尔类型,用来存储对错是非类的数据,如 lily_older_than_tom = True, 只有 True 与 False
tips: 如果变量名存储的值是布尔值的话,那么约定俗成的变量名统一用 is_ 开头is_success、is_exist、is_delete、is_locked
complex:复数类型,(不了解), a = 1 - 2j
运算符
算术运算符
+、-、*、/ 、%: 常见的加、减、乘、除、取余运算符
python中 / 除法的精度不高,10 / 3 --> 3.3333335,但python有很多包可以解决这一问题
//、**: 整数除法(print(17 // 2) ---> 8)、次方(print(2 **3) ---> 8 , 2的3次方)
+=、-=、*=、/=...:增量运算, (a = 1 a += 2 print(a) --> 3)
1 print(10 / 3)
2 # 3.333333335 --> python的精度不高
3
4 print(11 % 3)
5 # 1
算术运算常见案例
1 # 普通赋值
2 a = 10
3
4 # 链式赋值
5 a = b = c = 1000
6 print(a, b, c)
7 # 1000 1000 1000 ---> input中 , 会默认补空格
8
9 # ------------解压赋值------------
10 arr = [1, 2, 3, 4]
11
12 # 普通方法
13 a = arr[0]
14 b = arr[1]
15 c = arr[2]
16 d = arr[3]
17 print(a, b, c, d)
18 # 1 2 3 4
19
20 # 解压赋值
21 a, b, c, d = arr
22 print(a, b, c, d)
23 # 1 2 3 4
24
25 # 解压赋值 _
26 a, _, _, d = arr
27 print(a, _, d)
28 # 1 3 4
29
30 # 解压赋值 *_ ---> 可以巧用这个 *_
31 a, *_, d = arr
32 print(a, _, d)
33 # 1 [2, 3] 4
34
35 # ------------交换值--------------
36 m = 10
37 n = 20
38
39 # 普通方法
40 o = m
41 m = n
42 n = 0
43 print(m, n)
44 # 20 10
45
46 # 交叉赋值
47 m = 10
48 n = 20
49 m,n = n,m
50 print(m, n)
51 # 20 10
容器类型:能存储多个值得都可以叫做容器类型
逻辑运算符(返回值位bool类型)
>、<、==、!= : 大于、小于、等于、不等于
and、or、not : 且、或、非 优先级: not > and > or
1 a = 'asdf'
2 b = 'zg'
3 print(a > b)
4 # False python中的字符串比较是逐字母比较的, 'z' > 'a',所以字符串 b > a
5
6 a = 1
7 b = 1
8 print(a == b)
9 # True == 比较的是变量所对应的值是否相等
10
11 c = 288
12 d = 288
13 print(c is d)
14 # False is 比较的是两个变量的内存地址是否相等
15 # 两个变量的内存地址相等,那么他们的值一定相等
常见逻辑运算