Python基础一

Python基础一1 基础语法 1 注意编码 在不同的操作系统中 不同的开发工具中 有不同的默认编码类型 常见的有 GBK GB2313 UTF 8 UNICODE ISO 8859 1 2 标识符规范 第一个字符可以是 字母 中文 非第一位字符可以是 字母 数字 中文 大小写敏感 姓名

大家好,我是讯享网,很高兴认识大家。

1. 基础语法

1.注意编码

在不同的操作系统中、不同的开发工具中,有不同的默认编码类型,常见的有:GBK、GB2313、UTF-8、UNICODE、ISO-8859-1
在这里插入图片描述
讯享网

2.标识符规范

  • 第一个字符可以是:字母、’_’、中文
  • 非第一位字符可以是:字母、数字、’_’、中文
  • 大小写敏感
_姓名 = '张三' name01 = 'zhangsan' print(_姓名) print(name01) 

讯享网

3.保留关键字

讯享网>>> import keyword >>> keyword.kwlist ['False', 'None', 'True', '__peg_parser__', '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'] 

4.注释

单行注释以 # 开头,多行注释采用三对单引号(’’’)或者三对双引号(""")将注释括起来

# 这是一行注释 ''' 这是多行注释 这是多行注释 这是多行注释 ''' 

5.缩进

通过缩进表示代码块等级,常用Tab

讯享网name = 'zhangsan' # 打印字符 def print_char(name): for char in name: print(char) print_char(name) 

6.基本数据类型

  • Number(数字)
  • String(字符串)
  • List(列表)
  • Tuple(元组)
  • Set(集合)
  • Dictionary(字典)

7.输入输出

name = input("请输入姓名:") print('用户输入:', name) # 保存内容到文件 open('a.log',mode='w').write('asd') 

8.导包

讯享网import os from os import path # from xxx import * import time # 创建目录 if not path.exists('testDir'): os.mkdir('testDir') # 格式化时间 format_time = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time())) print(format_time) 

2.解释器

hello.py

print ("Hello, Python!"); 

执行

讯享网python hello.py 

3. 运算符

python中没有三元表达式,可以通过 if(a>0) a else 0实现

3.1 算术运算法

和大多数类型的编程语言一样,python中的也有±*/,但也有不一样的

  • / 当两个数字类型相除时,如果参数余数,相除会产生小数
  • // 向下整除
  • 字符串不可以和number类型相加,需要先转换为字符串
  • 在字符串中,使用较为灵活

假设变量 a 为 10,变量 b 为 21:

运算符 描述 实例
+ 加 - 两个对象相加 a + b 输出结果 31
- 减 - 得到负数或是一个数减去另一个数 a - b 输出结果 -11
* 乘 - 两个数相乘或是返回一个被重复若干次的字符串 a * b 输出结果 210
/ 除 - x 除以 y b / a 输出结果 2.1
% 取模 - 返回除法的余数 b % a 输出结果 1
幂 - 返回 x 的 y 次幂 a b 为 10 的 21 次方
// 取整除 - 返回商的整数部分 9//2 输出结果 4 , 9.0//2.0 输出结果 4.0

3.2 比较运算符

假设变量 a 为 10,变量 b 为 20:

运算符 描述 实例
== 等于 – 比较对象是否相等 (a == b) 返回 False。
!= 不等于 – 比较两个对象是否不相等 (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.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

3.4 位运算符

假设变量 a 为 60,b 为 13。

运算符 描述 实例
& 按位与运算符:参与运算的两个值,如果两个相应位都为 1,则该位的结果为 1,否则为 0 (a & b) 输出结果 12 ,二进制解释: 0000 1100
按位或运算符:只要对应的二个二进位有一个为 1 时,结果位就为 1。
^ 按位异或运算符:当两对应的二进位相异时,结果为 1 (a ^ b) 输出结果 49 ,二进制解释: 0011 0001
~ 按位取反运算符:对数据的每个二进制位取反,即把 1 变为 0,把 0 变为 1 (~a ) 输出结果 -61 ,二进制解释: 1100 0011, 在一个有符号二进制数的补码形式。
<< 左移动运算符:运算数的各二进位全部左移若干位,由"<<"右边的数指定移动的位数,高位丢弃,低位补 0。 a << 2 输出结果 240 ,二进制解释: 1111 0000
>> 右移动运算符:把">>“左边的运算数的各二进位全部右移若干位,”>>"右边的数指定移动的位数 a >> 2 输出结果 15 ,二进制解释: 0000 1111

3.5 逻辑运算符

假设变量 a 为 10, b 为 20:

运算符 逻辑表达式 描述 实例
and x and y 布尔"与" - 如果 x 为 False,x and y 返回 False,否则它返回 y 的计算值。 (a and b) 返回 20。
or x or y 布尔"或" - 如果 x 是 True,它返回 x的值,否则它返回 y 的计算值。 (a or b) 返回 10。
not not x 布尔"非" - 如果 x 为 True,返回 False 。如果 x 为 False,它返回 True。 not(a and b) 返回 False

3.6 成员运算符

用户判断成员是否包含还是未包含在括字符串、列表或元组。

运算符 描述 实例
in 如果在指定的序列中找到值返回 True,否则返回 False。 x 在 y 序列中 , 如果 x 在 y 序列中返回 True。
not in 如果在指定的序列中没有找到值返回 True,否则返回 False。 x 不在 y 序列中 , 如果 x 不在 y 序列中返回 True。

3.7 身份运算符

身份运算符用于比较两个对象的存储单元

运算符 描述 实例
is is 是判断两个标识符是不是引用自一个对象 x is y, 如果 id(x) 等于 id(y) , is 返回结果 True
is not is not 是判断两个标识符是不是引用自不同对象 x is not y, 如果 id(x) 不等于 id(y). is not 返回结果 True

4. 数字

Python 数字类型用于数值的储存。数值类型是不允许改变的,如果改变数字数据类型的值,将重新分配内存空间。

  • int (整数), 如 1, 只有一种整数类型 int,表示为长整型,没有 python2 中的 Long。
  • bool (布尔), 如 True。
  • float (浮点数), 如 1.23、3E-2
  • complex (复数), 如 1 + 2j、 1.1 + 2.2j
count = 100 result = True change = 12.34 c = complex(2, 3) 
数字类型转换

有时候,我们需要对数据内置的类型进行转换,数据类型的转换,你只需要将数据类型作为函数名即可。

  • int(x) 将x转换为一个整数。
  • float(x) 将x转换到一个浮点数。
  • complex(x) 将x转换到一个复数,实数部分为 x,虚数部分为 0。
  • complex(x, y) 将 x 和 y 转换到一个复数,实数部分为 x,虚数部分为 y。x 和 y 是数字表达式。
数学函数
函数 返回值 ( 描述 )
abs(x) 返回数字的绝对值,如abs(-10) 返回 10
ceil(x) 返回数字的上入整数,如math.ceil(4.1) 返回 5
cmp(x, y) 如果 x < y 返回 -1, 如果 x == y 返回 0, 如果 x > y 返回 1。 Python 3 已废弃,使用 (x>y)-(x<y) 替换
exp(x) 返回e的x次幂(ex),如math.exp(1) 返回2.9045
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) xy 运算后的值。
round(x [,n]) 返回浮点数 x 的四舍五入值,如给出 n 值,则代表舍入到小数点后的位数。
其实准确的说是保留值将保留到离上一位更近的一端。
sqrt(x) 返回数字x的平方根。

5. 字符串

  • 单引号和双引号使用完全相同。
  • 使用三对引号(’’'或""")可以囊括一个多行字符串。
  • 转义符 ‘’
  • 自然字符串, 通过在字符串前加 r 或 R。 如 r"this is a line with \n" 则\n会显示,并不是换行。
  • Python 允许处理 unicode 字符串,加前缀 u 或 U, 如 u"this is an unicode string"。
  • 字符串是不可变的。
  • 按字面意义级联字符串,如"this " "is " "string"会被自动转换为this is string。
  • 字符串可以用 + 运算符连接在一起,用 * 运算符重复。
  • Python 中的字符串有两种索引方式,从左往右以 0 开始,从右往左以 -1 开始。
  • Python中的字符串不能改变。
  • Python 没有单独的字符类型,一个字符就是长度为 1 的字符串。
  • 字符串的截取的语法格式如下:变量 [头下标: 尾下标: 步长]
讯享网str='' print(str) # 输出字符串 print(str[0:-1]) # 输出第一个到倒数第二个的所有字符 print(str[0]) # 输出字符串第一个字符 print(str[2:5]) # 输出从第三个开始到第五个的字符 print(str[2:]) # 输出从第三个开始后的所有字符 print(str[1:5:2]) # 输出从第二个开始到第五个且每隔两个的字符 print(str * 2) # 输出字符串两次 print(str + '你好') # 连接字符串 

字符串格式化
常用的有:%s、%d、%f

content = '姓名:%s,年龄:%d' % ('张三', 16) print(content) 

字符串内建函数
find、endwith、startwith、index、join、replace、split、lower、upper

6. 列表List

  • 列表可以完成大多数集合类的数据结构实现。它支持字符,数字,字符串甚至可以包含列表(即嵌套)。
  • 列表用 [ ] 标识,是 python 最通用的复合数据类型。
  • 列表中值的切割也可以用到变量 [头下标:尾下标] ,就可以截取相应的列表,从左到右索引默认 0 开始,从右到左索引默认 -1 开始,下标可以为空表示取到头或尾,遵循左闭右开。
  • 加号 + 是列表连接运算符,星号 * 是重复操作。
讯享网content = [1, 3, 5.0, 'zhangsan'] nums = [1, 3, 5, 7, 9] nums2 = [2, 4, 6, 8, 10] nums.remove(1) print(nums[0]) print(nums[0:2]) print(nums[-1]) print(nums[-3:]) nums.append(11) # nums = nums*3 nums += nums2 print(nums) 

在这里插入图片描述

7. 元组

元组与列表类似,不同之处在于元组的元素不能修改,但可以相加组合

tup1 = (1, 3, 5, 7, 9) tup2 = (2, 4, 6, 8, 10) print(tup1[0]) print(tup1[1:3]) print(tup1[-3:]) tup1 += tup2 print(tup1) 

内置函数
len、min、max、tuple

8. 字典

在python中的字典对应是java中的map集合,可以进行增删改查,格式化后就是我们常用的json数据格式

讯享网import json headers = { 
    "Host": "www.baidu.com", "Connection": "keep-alive", "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.142 Safari/537.36", "Accept-Encoding": "gzip, deflate", "Accept-Language": "zh-CN,zh;q=0.9", } print(headers["Accept-Language"]) headers.update({ 
   "Accept-Language": "666"}) headers["Accept-Language"]="777" print("Accept-Language" in headers) headers.pop("Accept-Language") print("Accept-Language" in headers) print(json.dumps(headers)) print(type(headers)) 

9. 条件控制语句和循环

通过条件控制语句,进行代码有选择性的执行,常见if、while、

a = 6 b = 10 if a > b: print('a>b') else: print('a<=b') while a < b: a += 1 else: print('end') 

10. 迭代器和生成器

讯享网nums = [1, 2, 3, 4] it = iter(nums) print(next(it)) for item in it: print(item) 
nums = [1, 2, 3, 4] def get_nums(): for item in nums: yield 'times' + str(item) print('end') for i in get_nums(): print(i) 

11. 函数、方法、类

与类和实例无绑定关系的function都属于函数(function); 与类和实例有绑定关系的function都属于方法(method)
定义在函数内部的变量拥有一个局部作用域,定义在函数外的拥有全局作用域。
‘_’下划线开头变量表示内部成员,类似于java中的private,不能直接使用

讯享网count = 0 class User: """ 用户类 """ name = '' _age = 0 count = 1 def set_name(self, name): self.name = name def set_age(self, age): self._age = age def get_format_name(self): count = 2 # 闭包 def print_something(): global count count = 3 print('print_something') print_something() return '姓名:%s' % self.name def get_age(self): return self._age user = User() user.set_name('张三') print(user.get_format_name()) print('姓名:%s' % user.name) # 错误使用 # print('年龄:%s' % user._age) print(count) 

使用外部作用域需要使用 global 关键字

def 函数名(参数列表,*): 函数体 # return "xxx" 
讯享网nums = [1, 2, 3, 4] def print_nums(nums, debug=False): if debug: print('debug:', nums) else: print('release:', nums) return debug result = print_nums(nums, debug=True) print(result) 

12. 模块

模块是一个包含所有你定义的函数和变量的文件,其后缀名是 .py。模块可以被别的程序引入,以使用该模块中的函数等功能。常用的三方库也是模块。所谓的导包就是导入模块

import sys import os from xxx import xxx 

13. File文件

方法及描述
file.close()
关闭文件。关闭后文件不能再进行读写操作。
file.flush()
刷新文件内部缓冲,直接把内部缓冲区的数据立刻写入文件, 而不是被动的等待输出缓冲区写入。
file.fileno()
返回一个整型的文件描述符 (file descriptor FD 整型), 可以用在如 os 模块的 read 方法等一些底层操作上。
file.isatty()
如果文件连接到一个终端设备返回 True,否则返回 False。
file.next()
返回文件下一行。
file.read([size])
从文件读取指定的字节数,如果未给定或为负则读取所有。
file.readline([size])
读取整行,包括 “\n” 字符。
file.readlines([sizehint])
读取所有行并返回列表,若给定 sizeint>0,返回总和大约为 sizeint 字节的行, 实际读取值可能比 sizeint 较大, 因为需要填充缓冲区。
file.seek(offset[, whence])
设置文件当前位置
file.tell()
返回文件当前位置。
file.truncate([size])
截取文件,截取的字节通过 size 指定,默认为当前文件位置。
file.write(str)
将字符串写入文件,返回的是写入的字符长度。
file.writelines(sequence)
向文件写入一个序列字符串列表,如果需要换行则要自己加入每行的换行符。

14. 标准库和常用的类库

os、sys、shutil、re、threading、datetime、time、random、math、…
requests、urllib、numpy、pandas、matplotlib、beautifulsoup、tkinter、json、django、flask、selenium、xlwt、xlrd
更多

15. 异常处理

讯享网times = 0 while True: try: x = int(input("Please enter a number: ")) break # except Exception as err: except ValueError as err: print("Oops! That was no valid number. Try again ") print(err) finally: times += 1 print("End times:%d" % times) 

小讯
上一篇 2025-03-07 18:27
下一篇 2025-03-15 08:40

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/47041.html