本文共 3872 字,大约阅读时间需要 12 分钟。
python基础
标识符
-
在Python里面,标识符由字母、数字、下划线组成
-
所有标识符不能以数字开头
-
标识符区分大小写
-
下划线开头的标识符由特殊意义
- 单下划线:
_foo
不能直接访问的类属性 - 双下划线:
__foo
类的私有成员 - 双下划线开头和结尾:
__foo__
特殊方法专用标识,例如__init__()
代表构造函数
- 单下划线:
行缩进
python的代码块不使用大括号{}
,使用缩进代替
a = [1]if a == [1]: a = a + a print(a)else: a.append(12) print(a)
注意:
缩进数必须一致
多行语句
str = "hello " \ "world"a.append(2)a = a * 2 * \ 2*2
输入
input('提示')
name=input("please input your name:\n")print(name)
输出结果
please input your name:lisilisi
输出
默认输出
print()
不换行输出 print(str,end='')
string1 = "Hello world"print(string1)print(string1, end=',')print("test",end='-end-')
输出结果
Hello worldHello world,test-end-
注释
#
单行注释
‘''
或者“""
表示多行注释
'''print(a)print(str)'''# str1 = 'string1'
数据类型
Python3有6种标准数据类型:
Number,String,List,Tuple,Set,Dictionary
Number
python四种数字类型:整数、布尔、浮点数和复数
int | python3只有int 一种,没有python2的Long |
---|---|
bool | True |
float | 1.23,3E2 |
complex | 1+2j 3+4.6j |
python允许同时为多个变量赋值
a = b = c = 1
String
str1 = 'string1'str2 = "string2"str3 = '''this is a applehello world点赞、收藏'''
-
可以用
+
连接两个字符串 -
字符检索方式
-
从左向右:0开始
-
从右向左:-1开始
-
-
Python字符串不可改变
-
字符串截取方式:
变量[head:tail:step]
string1 = "Hello world"print(string1)print(string1[0:10:2])print(string1[0:-3])print(string1*2)print(string1[4])
输出结果
Hello worldHlowrHello woHello worldHello worldo
List
列表可以完成大多数集合类的数据结构实现。列表中元素的类型可以不相同,它支持数字,字符串甚至可以包含列表。
list1 = [1, 2, 3, 5, 8]list2 = [2, 4, 7, 7, 9]print(list1)print(list1[1:-1])print(list1[0:4])print(list1[:4])print(list1[3:])print(list1*2)print(list1+list2)
输出
[1, 2, 3, 5, 8][2, 3, 5][1, 2, 3, 5][1, 2, 3, 5][5, 8][1, 2, 3, 5, 8, 1, 2, 3, 5, 8][1, 2, 3, 5, 8, 2, 4, 7, 7, 9]
+
:表示两个list连接在一起
*
:表示一个list重复
String不可以改变,但是list中的元素可以改变
Tuple(元组)
元组(tuple)与列表类似,不同之处在于元组的元素不能修改。元组写在小括号 () 里,元素之间用逗号隔开。
tup = (12, 23, 34, 34)
注意:构造包含 0 个或 1 个元素的元组比较特殊
# 包含0个元素的元组tup1 = ()print(tup1)print(len(tup1)) # 输出元组的元素个数
输出
()0
包含 1 个元素的元组
# 错误的方法tup1 = (23)print(tup1)print(len(tup1))
23Traceback (most recent call last): File "D:/workplace/python/pycharm/learnPython/demo1.py", line 6, inprint(len(tup1))TypeError: object of type 'int' has no len()
# 正确的方式tup1 = (23,)print(tup1)print(len(tup1))
(23,)1
Set(集合)
集合(set)是由一个或数个形态各异的大小整体组成的,构成集合的事物或对象称作元素或是成员,集合元素不能重复
基本功能是进行成员关系测试和删除重复元素。
可以使用大括号 { } 或者 set() 函数创建集合
注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。
students = { 'jack', 'Tom', 'Lucy'}print(students)students.add('jack')print(students)print('jack' in students)
输出
{ 'jack', 'Lucy', 'Tom'}{ 'jack', 'Lucy', 'Tom'}True
集合的运算
print(a-b) # 差集print(a | b) # 并集print(a & b) # 交集print(a ^ b) # 不同时存在的元素 相当于 (a|b)-(a&b)
输出结果
{ 1, 2, 4}{ 1, 2, 3, 4, 5, 6, 7, 8}{ 3, 5}{ 1, 2, 4, 6, 7, 8}
Dictionary(字典)
列表是有序的对象集合,字典是无序的对象集合。两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。
字典是一种映射类型,字典用 { } 标识,它是一个无序的 键(key) : 值(value) 的集合。
键(key)必须使用不可变类型,相当于java中的Map
# 构造空字典dict1 = { }dict1['one'] = '1010101010'dict1['2'] = '20202020'dict1[1.4] = '4545454'print(dict1)print(dict1['one'])print(dict1.keys())print(dict1.values())使用dict()函数构造字典d2 = dict([('tom', 12), ('John', 45)])print(d2)
输出
{ 'one': '1010101010', '2': '20202020', 1.4: '4545454'}1010101010dict_keys(['one', '2', 1.4])dict_values(['1010101010', '20202020', '4545454']){ 'tom': 12, 'John': 45}
数据类型转换
函数 | 描述 |
---|---|
int(x [,base]) | 将x转换为一个整数 |
float(x) | 将x转换到一个浮点数 |
complex(real [,imag]) | 创建一个复数 |
str(x) | 将对象 x 转换为字符串 |
repr(x) | 将对象 x 转换为表达式字符串 |
eval(str) | 用来计算在字符串中的有效Python表达式,并返回一个对象 |
tuple(s) | 将序列 s 转换为一个元组 |
list(s) | 将序列 s 转换为一个列表 |
set(s) | 转换为可变集合 |
dict(d) | 创建一个字典。d 必须是一个 (key, value)元组序列。 |
frozenset(s) | 转换为不可变集合 |
chr(x) | 将一个整数转换为一个字符 |
ord(x) | 将一个字符转换为它的整数值 |
hex(x) | 将一个整数转换为一个十六进制字符串 |
oct(x) | 将一个整数转换为一个八进制字符串 |
类型判断
两个函数:
type():不会认为子类是父类类型
isinstance():会认为子类是父类类型
print(type(12.3))print(isinstance(12.3,int))
输出
False
模块导入
两种导入方式
1、导入整个模块import <module>
2、导入模块中的函数
(1)导入一个函数from <module> import <function>
(2)导入多个函数from <module> import <function1>[,<function2>,<function3>,...]
(3)导入所有函数from <module> import *
import sysfrom sys import path
转载地址:https://console.blog.csdn.net/article/details/105691288 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!