python基础语法花多长时间_一.Python基础语法

1基本数据类型

1.1 数值int 整数

与C、C++、Java不同,Python中整数类型只有一个int,没有短整型short、长整形long。>>> a = 1

>>> type(a)

1.2 浮点数float 浮点数,也就是小数>>> a = 1.0

>>> type(a)

1.3 布尔值bool 布尔值True or Flase

非零即为Ture,零则为FalseIn [4]: type(0.3)

Out[4]: float

In [5]: type(True)

Out[5]: bool

In [6]: type(1)

Out[6]: int

2 序列类型

2.1 列表一个有序的队列,可变数据类型;

元素可以是任意对象;

列表内元素有序,可以使用索引;

线性的数据结构;使用[]表示;##############列表#################

# 1.列表定义

# 虽然列表跟ava中的数组很相似,但不同之处,它可以存放任意类型

list_1 = ['hello', 'world',"hello","中国",18, True, 1.11]

list_2 = list(range(10))

print(list_1)

print(list_2)

# 2.列表的访问

print(list_1[1])

print(list_1[-1])

# print(list_1_ele3)# 超出指定范文,会报越界异常IndexError: list index out of range

# 3.列表查询

## index(value,[start,[stop]])

## 通过值value,从指定区间查找列表内的元素的是否匹配

## 匹配第一个就立即返回,匹配不到,抛出异常ValueError

print(list_1.index("hello"))

# print(list_1.index(10)) # 因为不存在,这里会报异常ValueError

## coutn(value) 返回列表中匹配value的次数,没有则返回0

print(list_1.count("hello"))

print(list_1.count("haha"))

## len(list_name) 返回列表的长度,或者元素个数

print(len(list_1))

# 4.列表的修改

## append(object):None

## 列表尾部追加元素,返回None

list_1.append("世界")

## insert(index,object)-None

## 在指定索引处插入元素,尽量少用,因为列表是线性结构,查询快,但中间插入或删除元素效率低

list_1.insert(2,"demo")

## extend(iterable): 将可迭代对象追加进来,返回None

list_1.extend(list_2)

print(list_1)

## + 连接操作,将两个列表连起来,产生新的列表,本质上调用的是__add__()方法

list_3 = list_1 + list_2

print(list_3)

# 5 切片操作

print(list_3[1:3]) # 左闭右开

print(list_3[1:5:2])

# 6.列表删除元素

## remove(value) 从左至右查找匹配的value值,删除

## 执行效率低,若列表很长或者执行次删除次数多,建议少用

list_3.remove("demo")

print(list_3)

## pop(index) 弹出指定索引的元素,不指定索引,则弹出尾部元素

list_3.pop()

list_3.pop(0)

## clear() 清空列表元素

list_3.clear()

print(list_3)

2.2元组tuple 元组,与列表相似,同样支持下标访问,区别它不可变

元组示例# 元组定义

tup1 = () # 空元组

tup2 = tuple() # 空元组

tup3 = tuple(range(10))

# tup3[0] = 27 # 错误,元组不可变,会报异常TypeError: 'tuple' object does not support item assignment

# 下标访问元组元素

print(tup3[1])

print(tup3[2])

# 与列表类似,支持查询操作,但不支持修改

tup3 = ("a","b","hello",18, 22)

res = tup3.index("hello")

print(res)

# 其他方法相似,但没有修改与删除操作

2.3 字符串一个个字符组成的有序的序列,是字符的结合,在python中使用单引号、双引号、三引号表示字符串。

Python中字符串不可变对象,支持使用索引访问,可迭代。#################字符串##################

# 1.字符串定义,三引号支持换行

str_1 = 'hello'

str_2 = "hello"

str_3 = '''hello world china good'''

str_4 = """我爱中国,我是中国人"""

print(str_1)

print(str_2)

print(str_3)

print(str_4)

# 2.常用方法

## join()连接

print(",".join(str_1)) # 输出结果 h,e,l,l,o

## split() 按照指定分割符号,切割字符串,返回列表

print(str_3.split(" ")) # ['hello', 'world', 'china', 'good']

## partition(sep)--(head,sep,tail)

## 将字符串按照分隔符分隔成2两部分,返回头、分隔符、尾三部分的元组;

## 如果没有找到分隔符,就返回头、2个空字符的三元组

print(str_3.partition(" ")) # ('hello', ' ', 'world china good')

## upper() 字符串转大写

print(str_3.upper())

## lower() 字符串转小写

print(str_3.lower())

## replace()字符串替换

print(str_3.replace("good","very good"))

## 字符串判断

print(str_3.startswith("hello")) # 是否hello开头

print(str_3.endswith("good")) # 是否以good结尾

print(str_3.islower()) # 是否小写

print(str_3.isupper()) # 是否大写

Python3中引入了两个新类型

bytes 不可变的字节序列

bytearray 字节数组、可变###############bytes##############

b_1 = b"hllll"

print(type(b_1))

print(b_1[2])

############bytearray##############

barr_1 = bytearray("hello".encode())

print(type(barr_1))

print(barr_1)

2.4 集合set 可变的,无序的,不重复的元素的集合#############集合############

# 定义

set_1 = {1, 2, 3 , 1}

print(set_1) # {1, 2, 3} ,因为set是可变的无序的不重复的集合

# set中的元素必须可以hash,list和bytearray属于不可哈希类型,所以不能作为set中的元素

# set_2 = {[1, 2, 3], 2} # TypeError: unhashable type: 'list'

# set 中增加元素

set_1.add("hello")

print(set_1) # {1, 2, 3, 'hello'}

# set中删除元素

set_1.remove("hello") # 从set中移除指定元素,元素不存在,抛出keyerror异常

print(set_1.pop()) # 移除并返回随机元素

set_1.discard(1) # 从set中移除元素,元素不存在,也不会抛出异常

# 清空集合元素

set_1.clear()

# set修改和查询

# set 没有直接修改的操作,要么删除元素,要么加入新的元素

"""

- set和线性结构

线性 线性结构的查询时间复杂度O(n),随着数据规模的增大,耗时越来越长

set、dict等结构,内部使用哈希值作为key,时间复杂度可以做到O(1),查询时间和数据规模无关。

- 可哈希类型

数值型int、float、complex等

bool类型

字符串类型string、bytes

tuple

None

以上都是不可变类型,可哈希类型,可以作为集合元素- 集合运算

* 并集:

union(*others):返回和多个集合合并后的新集合

| 运算符重载,等同于union

update(*others) 和多个集合合并,就地修改

|= 等同于update 中间不可以有空格

* 交集:

intersection(*others) 返回和多个集合的交集

等同于 &

intersection_update(*others)

获取多个集合的交集,并就地修改

&= 等同于intersection_update

* 差集:

difference(*others)

等同于 - 返回多个集合的差集

differnece_update(*others) 获取和多个集合的差集就地修改

-= 等同于difference_update

* 对称差集

集合A和B,由所有不属于A和B的交集元素组成的集合,记作(A-B) U (B-A)

symmetric_difference(other)

返回和另一个集合的对称差集

等同于^

symmetric_difference_update()

获取和另一个集合的差集,就地修改

等同于^=

* issubset(other)、 <= 判断当前集合是否是另一个集合的子集

set1 < set2

判断set1是否是set2的真子集

issuperset(other) >=

判断当前集合是否是other的超集

set1 > set2

判断set1是否是set2的真超集

isdisjoint(other)

当前集合和另一个集合没有交接,没有交接返回True

"""

2.5 字典###############字典############

# 字典定义

## 定义一个空字典

dic_1 = dict()

dic_2 = {}

## 定义一个含有元素的字典

dic_3 = {"name":"张三丰","age":100, "sex":"男"}

## d(key) 返回key对应的值,如果key不存在则抛出异常

v1 = dic_3["name"]

# get(key[,default]) 返回key对应的值,key不存在返回缺省值,没有缺省是,返回None

v2 = dic_3.get("name")

## setdefault(key[,default]), key 存在返回对应的值,不存在则添加key-value

v3 = dic_3.setdefault("门派","武当")

## 字典元素增加d[key]=value,key存在增加修改对应的值,不存在,则添加key-value

dic_3["内功"]="纯阳无极功"

## pop(key[,default]) ,

### key存在,移除它,返回它的value

print(dic_3.pop("age"))

### key不存在,返回给定的default

print(dic_3.pop("弟子","武当七侠"))

### 未设置default,key不存在则抛出异常

# print(dic_3.pop("弟子"))

## 清空字典clear

dic_3.clear()

3. 运算符

3.1 算数运算符算数运算符如下运算符描述实例+加10 + 30

-减5 - 3

*乘30 * 20

/除10 / 20

//取整除返回除法的整数部分(商),如 7 // 2 输出结果 3

%取余数返回除法的余数 7 % 2 = 1

**幂又称次方、乘方,2 ** 3 = 8算数运算符的优先级和数学中的运算符的优先级一致,在 Python 中进行数学计算时,同样也是:* **先乘除后加减**

* 同级运算符是 **从左至右** 计算

* 可以使用 `()` 调整计算的优先级以下表格的算数优先级由高到最低顺序排列运算符描述**幂 (最高优先级)

* / % //乘、除、取余数、取整除

+ -加法、减法

3.2.位运算符运算符描述&位与

\位或

~取反

^异或

<

>>右边移位

2.3 比较运算符运算符描述>大于

>=大于等于

<=小于等于

==等于

!= 、<>不等于

3.4 赋值运算符运算符描述+=a+=1 等价于 a=a+1

-=类似

*=...

**=...

/=...

%=...

3.5逻辑运算符运算符描述and逻辑"与",两边为真返回布尔值'True',否则返回False

or逻辑"或",两边为假返回布尔值'Flase',否则返回True

not逻辑"非"

3.6 成员运算符运算符描述in如果在指定的序列中返回True,否则返回Flase

not in若不在指定的序列中返回True,否则返回False

4. 变量

4.1 变量定义在 Python 中,每个变量 在使用前都必须赋值,变量 赋值以后 该变量 才会被创建变量名 = 值

示例# 定义 class_num 的变量用来保存班级序号

In [8]: class_num = '01'

In [9]: print(class_num)

01

4.2 变量的类型在 Python 中定义变量是 不需要指定类型(在其他很多高级语言中都需要)

数据类型可以分为 数值型 和 非数值型

数字型整型 (int)

浮点型(float)

布尔型(bool)真 True ---- 非零即真

假 False ----0

复数型 (complex)主要用于科学计算

非数值类型字符串

列表

元组

字典

使用 type() 函数可以查看一个变量的类型

4.3 不同类型变量之间的计算

1) 数值类型变量之间可以直接计算在 Python 中,两个数值类型变量是可以直接进行 算数运算的

如果变量是 bool 型,在计算时True 对应的数字是 1

False 对应的数字是 0

2) 字符串变量 之间使用 + 号,则是进行字符串的拼接In [10]: str1 = "My name is"

In [11]: str2 = "张三"

In [12]: str1 + str2

Out[12]: 'My name is张三'

3) 数值类型变量 和 字符串 之间 不能进行其他计算In [16]: str1 = "She is"

In [17]: age = 18

In [18]: str1 + age

---------------------------------------------------------------------------

TypeError Traceback (most recent call last)

in ()

----> 1 str1 + age

TypeError: can only concatenate str (not "int") to str

4.4 变量的输入 input在 Python 中,如果要获取用户在 键盘 上的输入信息,需要使用到 input 函数函数: 封装好的代码块,可以进行复用(别人或者自己写的代码),可以直接使用,而 不用关心内部的细节函数说明print(x)将 x 输出到控制台

type(x)查看 x 的变量类型

input获取键盘输入

示例:In [19]: info = input("输入信息")

输入信息12345

In [20]: info

Out[20]: '12345'

变量类型转换函数说明int(x)将 x 转换为一个整数

float(x)将 x 转换到一个浮点数

5 程序控制

高级语言中,程序控制无非是顺序、分支、循环

5.1顺序

按照先后顺序一条条执行

示例代码"""

先定义变量 a、b,再定义变量c,最后打印c的值

"""

a = 1

b = 2

c = a + b

print(c)

5.2 分支

Python的分支语句就是if,满足条件则执行,不满足则转到下一个分支条件a = 1

b = 2

max_num = None

if a > b:

print(a)

elif a

print(b)

else:

print("a = b")

5.2 循环语句whlie循环a = 1

sum = 0

max_num = 9

while a < max_num:

sum + = a

a += 1

print(sum)for 循环

常用语遍历

示例代码1 打印九九乘法表for i in range(1,10):

for j in range(1,i+1):

print(str(i)+"*"+str(j)+"="+str(i*j),end=" ")

print("\n")

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值