文章目录
Python基础
一、Python的数据类型
1.数字
a=200 b=123 c=21.34
2.字符串
a="hello world"
b='hello world'
c='''hello world 三单引号包裹的字符串通常用于多行预定义格式输出'''
3.布尔型
a=true
b=false
4.列表
在PHP中叫 索引数组
在JavaScript中叫数组
a=[1,2,3,4,5,6]
b=['张三','lisi','王五','zhaoliu']
5.字典
在Python中的列表和字典,与JSON的格式完全一致
JSON 数据格式:
[{“articleid”:“1”,“category”:“5”,“thumbnail”:“1.jpg”,“readcount”:“1510”,“updatetime”:“2017-11-10 12:28:08”},{“articleid”:“2”,“category”:“5”,“thumbnail”:“2.jpg”,“readcount”:“2865”,“updatetime”:“2017-11-15 15:53:13”},{“articleid”:“3”,“category”:“5”,“thumbnail”:“3.jpg”,“readcount”:“3124”,“updatetime”:“2017-11-12 00:31:03”},{“articleid”:“4”,“category”:“5”,“thumbnail”:“4.jpg”,“readcount”:“5783”,“updatetime”:“2017-11-17 14:43:53”},{“articleid”:“5”,“category”:“5”,“thumbnail”:“5.jpg”,“readcount”:“1215”,“updatetime”:“2017-12-05 15:15:32”},{“articleid”:“6”,“category”:“5”,“thumbnail”:“6.jpg”,“readcount”:“962”,“updatetime”:“2017-11-20 16:49:00”},{“articleid”:“7”,“category”:“5”,“thumbnail”:“7.jpg”,“readcount”:“917”,“updatetime”:“2017-11-12 00:31:57”},{“articleid”:“8”,“category”:“5”,“thumbnail”:“8.jpg”,“readcount”:“1091”,“updatetime”:“2017-12-05 15:17:29”},{“articleid”:“9”,“category”:“7”,“thumbnail”:“9.jpg”,“readcount”:“900”,“updatetime”:“2017-11-11 03:24:21”}]
a={'name':'张三','sex':'男','age':23,'phone':'12345678901'}
6.集合
与列表类似,是不重复的列表,在集合中不允许出现重复的数据
7.元组
tuple。与列表是一样的,中括号变变括号 a=(1,2,3,4,5,6)
,唯一与列表不同的是,元组中的数据是不能被修改的
8.对象
用class声明的对象
9.空类型
None
PHP,C,JAVA等中空对象为null
任何一门编程语言,都可以通过输出字符串的方式,来编写其他程序
二、命名规范
变量名可以包括字母、数字、下划线,但是数字不能做为开头。例如:name1是合法变量名,而1name就不可以
系统关键字不能做变量名使用:if else for break continue def class等
除了下划线之外,其它符号不能做为变量名使用
Python的变量名是除分大小写的
不允许使用中文全拼,无论是变量、函数、类、方法、包名等,均不允许,优先使用英文单词所有的命名,必须是有意义的
针对函数名或变量名或包名等,如果超过一个单词,建议使用下划线分开play_music,也可以使用小驼峰规则:playMusic
类名:建议使用大驼峰,People,MyPhone
三、注释
Ctrl + / 快捷键 单行注释
# 注释一行
``````包裹的字符串在不使用的情况下也可以作为注释
四、基本使用
1.printf
python 中的 print 默认自带换行,如果想要让 print 不换行就在输出时给 print 添加参数 end=’ ’
string2 = 'hello\nworld'
string3 = '你好世界'
print(string2)
print(string3)
print(string2,end=' ')
print(string3)
输出结果
hello
world
你好世界
hello
world 你好世界
**2.输入与输出 **
字符串之间可以直接使用 + 连接
string4 = '这是我的学号:'
id = input("请输入学号")
print(string4 + id)
请输入学号26221117
这是我的学号:26221117
string4 = '这是我的学号:'
id = 26221117
print(string4 + str(id))
print('%s%d' % (string4,id))
print(f"{string4}{id}")
print("{}{}".format(string4,id))
这是我的学号:26221117
这是我的学号:26221117
这是我的学号:26221117
这是我的学号:26221117
3.小数
point = 123.456
print("%.2f" % point)
print("{:.2f}".format(point))
123.46
123.46
五、运算符
1.基础运算符
以下假设变量: a=10,b=20:
运算符 | 描述 | 实例 |
---|---|---|
+ | 加 - 两个对象相加 | a + b 输出结果 30 |
- | 减 - 得到负数或是一个数减去另一个数 | a - b 输出结果 -10 |
* | 乘 - 两个数相乘或是返回一个被重复若干次的字符串 | a * b 输出结果 200 |
/ | 除 - x除以y | b / a 输出结果 2 |
% | 取模 - 返回除法的余数 | b % a 输出结果 0 |
** | 幂 - 返回x的y次幂 | a**b 为10的20次方, 输出结果 100000000000000000000 |
// | 取整除 - 返回商的整数部分(向下取整) | >>> 9//2 4 >>> -9//2 -5 |
2.比较运算符
以下假设变量a为10,变量b为20:
运算符 | 描述 | 实例 |
---|---|---|
== | 等于 - 比较对象是否相等 | (a == b) 返回 False。 |
!= | 不等于 - 比较两个对象是否不相等 | (a != b) 返回 True。 |
<> | 不等于 - 比较两个对象是否不相等。python3 已废弃。 | (a <> b) 返回 True。这个运算符类似 != 。 |
> | 大于 - 返回x是否大于y | (a > b) 返回 False。 |
< | 小于 - 返回x是否小于y。所有比较运算符返回1表示真,返回0表示假。这分别与特殊的变量 True 和 False 等价。 | (a < b) 返回 True。 |
>= | 大于等于 - 返回x是否大于等于y。 | (a >= b) 返回 False。 |
<= | 小于等于 - 返回x是否小于等于y。 | (a <= b) 返回 True。 |
3.赋值运算符
以下假设变量a为10,变量b为20:
运算符 | 描述 | 实例 |
---|---|---|
= | 简单的赋值运算符 | c = a + b 将 a + b 的运算结果赋值为 c |
+= | 加法赋值运算符 | c += a 等效于 c = c + a |
-= | 减法赋值运算符 | c -= a 等效于 c = c - a |
*= | 乘法赋值运算符 | c *= a 等效于 c = c * a |
/= | 除法赋值运算符 | c /= a 等效于 c = c / a |
%= | 取模赋值运算符 | c %= a 等效于 c = c % a |
**= | 幂赋值运算符 | c **= a 等效于 c = c ** a |
//= | 取整除赋值运算符 | c //= a 等效于 c = c // a |
具体信息看 Python 运算符 | 菜鸟教程 (runoob.com)
4.进制转换
#进制转换
print(bin(99)) #0b1100011
print(oct(99)) #0o143
print(hex(99)) #0x63
a = 0b00111100
b = 0b10101010
print(a&b)
print(bin(a&b)) #0b101000
5.位运算符
#左移 << 相当于乘以2
print(a) #60
print(a << 1) #120 00111100 -> 1111000
#右移 >> 相当与除以2
print(a >> 1) #30 00111100 -> 11110
a = 10
print(a << 1) #1010 -> 10100
print(a >> 1) #1010 -> 101
b=11
print(b << 1) #1011 -> 10110
print(b >> 1) #1011 -> 101
六.数值类型
- 类型转换
print(int(123.45)) #123
print(int(123.55)) #123
print(int(-123.456)) #-123
print(round(123.556,2)) #124.56
print(float(123456)) #123456.0
print(float("123.45")) #字符串转换为小数 123.45
print(float('123.456')) #字符串转换为 123.456
print(int(float('123.45'))) #字符串转换为123.45并取整
phone = 192168230147
print('我的ip是' + str(phone))
7.Python数学函数
函数 | 返回值 ( 描述 ) |
---|---|
abs(x) | 返回数字的绝对值,如abs(-10) 返回 10 |
ceil(x) | 返回数字的上入整数,如math.ceil(4.1) 返回 5 |
cmp(x, y) | 如果 x < y 返回 -1, 如果 x == y 返回 0, 如果 x > y 返回 1 |
exp(x) | 返回e的x次幂(ex),如math.exp(1) 返回2.718281828459045 |
fabs(x) | 以浮点数形式返回数字的绝对值,如math.fabs(-10) 返回10.0 |
floor(x) | 返回数字的下舍整数,如math.floor(4.9)返回 4 |
log(x) | 如math.log(math.e)返回1.0,math.log(100,10)返回2.0 |
log10(x) | 返回以10为基数的x的对数,如math.log10(100)返回 2.0 |
max(x1, x2,…) | 返回给定参数的最大值,参数可以为序列。 |
min(x1, x2,…) | 返回给定参数的最小值,参数可以为序列。 |
modf(x) | 返回x的整数部分与小数部分,两部分的数值符号与x相同,整数部分以浮点型表示。 |
pow(x, y) | x**y 运算后的值。 |
[round(x ,n]) | 返回浮点数x的四舍五入值,如给出n值,则代表舍入到小数点后的位数。 |
sqrt(x) | 返回数字x的平方根 |
8.Python随机数函数
随机数可以用于数学,游戏,安全等领域中,还经常被嵌入到算法中,用以提高算法效率,并提高程序的安全性。
Python包含以下常用随机数函数:
函数 | 描述 |
---|---|
choice(seq) | 从序列的元素中随机挑选一个元素,比如random.choice(range(10)),从0到9中随机挑选一个整数。 |
[randrange (start,] stop [,step]) | 从指定范围内,按指定基数递增的集合中获取一个随机数,基数默认值为 1 |
random() | 随机生成下一个实数,它在[0,1)范围内。 |
[seed(x]) | 改变随机数生成器的种子seed。如果你不了解其原理,你不必特别去设定seed,Python会帮你选择seed。 |
shuffle(lst) | 将序列的所有元素随机排序 |
uniform(x, y) | 随机生成下一个实数,它在[x,y]范围内。 |
r1 = random.randint(1,10) #生成一个闭区间的随机数
print(r1)
r2 = random.randrange(1,10) #左闭右开,第三个参数 step 为步长
print(r2)
r3 = random.randrange(1,10,2) #左闭右开且步长为2 即从 1 3 5 7 9 中进行寻找随机数
print(r3)
r4 = random.uniform(1.5,3.5) #指定范围内的小数,无数个
print(r4)
r5 = random.choice("ABCDEFGHIJKLMNOPQRST") #从字符串序列中随机选取一个值
print(r5)
r6 = random.choice([1,2,3,4,5,6,7,8,9]) #从列表序列中随机选取一个值
print(r6)
r7 = random.choice((1,2,3,4,5,6,7,8,9)) #从元组中随机选取一个值
print(r7)
七、字符串类型
1.字符串的定义规则
2.字符串切片操作
source = 'HelloWorld'
print(source[2]) # l
print(source[0:5]) #左闭右开 输出前5个字符 Hello
print(source[1:]) #输出从第二个位置到最后 elloWorld
print(source[:5]) #输出前五个字符 Hello
print(source[-1]) #输出倒数第一个位置的字符 d
print(source[1:-2]) #输出第二个位置到倒数第二个位置前的字符 elloWor
print(source[0:5:2]) #从前5个位置中,以步长为2输出 Hlo
3.字符串内置函数
#字符串编码和解码方法
source = "hello杨明强yyds999"
print(source)
print("UTF-8编码格式编码:",end='')
print(source.encode()) #encode方法将字符串按照指定的编码格式转换为字节类型,默认编码格式为 UTF-8
source = b'hello\xe6\x9d\xa8\xe6\x98\x8e\xe5\xbc\xbayyds999'
print("UTF-8编码格式解码:",end='')
print(source.decode()) #将字节类型按照指定编码格式转换为字符串,默认编码格式为UTF-8
source = "杨明强"
print(source)
print("gbk编码格式编码:",end='')
print(source.encode('gbk'))
source = b'\xd1\xee\xc3\xf7\xc7\xbf'
print("gbk格式解码:",end='')
print(source.decode('gbk'))
source = ' \t woniuxy \n \n \t '
print(source.strip()) #清除字符串左右两边不可见字符,lstrip() 清除左边不可见字符 rstrip() 清除字符串右边不可见字符
输出结果:
hello杨明强yyds999
UTF-8编码格式编码:b'hello\xe6\x9d\xa8\xe6\x98\x8e\xe5\xbc\xbayyds999'
UTF-8编码格式解码:hello杨明强yyds999
杨明强
gbk编码格式编码:b'\xd1\xee\xc3\xf7\xc7\xbf'
gbk格式解码:杨明强
woniuxy