Python基础(一)

我的未来我决定 提交于 2020-01-15 07:59:26
认识Python
Python是一种计算机程序设计语言,可以用混合编译的方式使用c/c++/java等语言的库。
你可能听说过Java、C++、C、R语言,而Python就是其中的一种。

 

应用 

Web应用开发、系统网络运维、科学与数字计算、3D游戏开发、图形界面设计、网络编程、数据分析都可以用到它。 

   

1、第一个程序

print('hello')
print('123')

 

2、关键字和保留字
import keyword
keyword.kwlist

 

3、变量的缓存
(1)当变量是数字的时候,只对-5到257之间的数字进行缓存
a = 1000 # -5到257之间会缓存
b = 1000
a is b
(2)系统值缓存256个字符串,但是带有空格的字符串不会缓存
a = 'hello world, you are pretty'
b = 'hello world, you are pretty'
a is b

 

4、输入和输出
#输入
name = input('请输入你的名字:')
#输出
print('你的名字叫:',name)
 

print的用法

print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False)
sep为分隔符
end末尾默认为换行符\n,也可以设置为空
print('a','b') # a b,默认分隔符是空格
print('a','b',sep='|') #a|b,分割符设置为|
print('a','b',end=' ') #末尾默认的end是换行\n,现在重新设置为空,则换行去掉了。
print('a','b')

 

字符格式化
# 字符格式化,有三种方法
name = '小红'
age = 18
# 1.用%占位符
print('你的名字是:%s,你的年龄是%d' %(name,age))
# 2.用{}占位符
print('你的名字是:{},你的年龄是{}'.format(name,age))
# 3.用{索引}占位符
print('你的名字是:{1},你的年龄是{0}'.format(age,name))
# 4.用{名字}占位符
print('你的名字是:{xxx},你的年龄是{yyy}'.format(yyy=age,xxx=name))

 

5、获取当前工作路径和修改工作路径
import os
获取当前工作路径
os.getcwd()
修改当前工作路径
os.chdir(修改的路径)

 

6、数据类型
常用的类型如下: 基本类型:整数int, 浮点数float,布尔bool(False/True),字符串str,序列range 组合类型:列表list(重点),字典 dict(重点),集合set
判断数据类型
a = 1
b = 1.0
c = False
d = 'xyz'
print(type(a)) #显示数据类型
print(type(b))
print(type(c))
print(type(d))
print(isinstance(a, int)) #//判断某个值是某个类型
#和整数运算时,True是1,False是0
a = True
b = False
print(a+1)
print(b+1)
print(1==1.0) #True
print(123 == '123') #False
print(1 == True) #True
print(0 == False) #True

 

# 字符串
#例1:单引号,双引号,三引号
name1 = 'zhang3'
name2 = "li4"
name3 = '''wang5
san'''
print(name1, name2, name3)
print('a\tb\nc') # \t表示tab键, \n表示换行
print(r'a\tb\nc') #加r,表示后面的字符串原生的输出

 

#1. 创建字符串
str1 = 'abc123abc

 

#2. 字符串运算符
print('123' + 'xyz') #123xyz
print('123' * 3) #123123123
print(str1[0]) #a
print(str1[-2]) #b
print(str1[1:3]) #bc
print(str1[1:]) #bc123abc
print(str1[:3]) #abc
print(str1[:-1]) #abc123ab
print(str1[:]) #abc123abc
print(str1[-3:-1]) #ab
print(str1[-1:-3]) #''
print(str1[::2]) #ac2ac
print(str1[-1:-5:-2]) #ca
print('a' in 'bcabc') #True
print('a' not in 'bcabc') #False

 

#3. 字符串的函数
s = '123a'
print(len(s)) # '4'
print(max(s)) #'a'
print(min(s)) # '1'

 

#4. 字符串的方法
#查
find()查找索引值,没有返回-1
index()查找索引值,没有报错
'abc123'.index('c1') #2
'abc123'.find('c1') #2
'abc123'.find('c2') #-1
#'abc123'.index('c2')
'abcabcbxyz'.count('b') #3

 

#增
join()插入字符串中每个字符之间(spilt与join相反)
'|'.join('1234') #1|2|3|4
补充:
append():不能添加多个元素
extend():能添加多个元素,但参数必须是列表
insert()
append()、extend()、insert()都不属于BIF,所以使用时都必须指出相应的表

 

#删
strip删除指定字符
lstrip从左边删除指定字符
rstrip从右边删除指定字符
'##abc#'.strip('#') #'abc'
' abc '.strip() #'abc'
' abc '.lstrip() #abc '
' abc '.rstrip() #' abc'
补充:
remove():知道要删除的元素就行
del 是一个语句 del+表名
pop():弹出最后一个元素,且可根据索引值弹出元素

 

#改
lower()将所有大写字符改为小写
upper()将所有小写字符改为大写字符
swapcase() 反转字符串中的大小写
capitalize() 将字符串第一个字符改为大写
'aBcD'.lower() #abcd’
'aBcD'.upper() #ABCD
'aBcD'.swapcase() #AbCd
'aBcD'.capitalize() #'Abcd'

 

#分割
'You are Pretty'.split() #['You', 'are', 'Pretty']
'You,are,Pretty'.split(',') #['You', 'are', 'Pretty']

 

#检测
startswith(prefix[,start[,end]])检查字符串是否以prefix开头,是则返回TRUE,否则返回False,start和end参数可以指定返回检查,可选
endswith(sub[,start[,end]])检查字符串是否以sub结束,如果是返回TRUE,否则返回False,start和end参数表示范围,可选
salnum()如果字符串至少有一个字符并且所有的字符都是字母或者数字则返回True,否则返回False
'aBcD'.startswith('aB') #True
'aBcD'.endswith('BcD') #True
'!3'.isalnum() #是否全是字母和数字,并至少有一个字符

 

# 数字和字符串的转换
age = input('请输入你的年龄')
print(type(age)) #str
age = int(age) #字符串--》整数
print(type(age)) #int

 

#数字和字符串的相互转换
#float
float(1)
float('1.23')
float('1.23e-3')

 

#int
int(3.14)
int(3.9)
int(True)
int(False)
int('12')
#int('12.0') 报错
int(float('12.0'))

 

#bool
bool(0) #False
bool(2) #True,非0的数值
bool('a') #True
bool('0') #True
bool('')

 

#str
str(1) #1
str(1.0) # '1.0
str(1.0e-5) #'1e-05'

 

根据字符串生成一个二元组
enumerate()方法生成由二元组(二元组就是元素数量为二的元组)构成的一个迭代对象,每个二元组是由可迭代参数的索引号及其对应元素组成
str1="code"
for each in enumerate(str1):
print(each)
zip()方法用于返回由各个可迭代参数共同组成的元组
list1=[1,2,3,4]
str1="code"
for each in zip(list1,str1):
print(each)

 

7、运算符
# 算术
# + - * / % // **
a = 22
b = 7
a + b #29
a - b #15
a * b #154
a / b #3.142857142857143
a // b #整除的商3
a % b #余数 1
b ** 2 #b的平方49

 

# 内部提供了一些数学函数
abs(-5) #绝对值
sum([1, 2, 3]) #求和
max(3, 5, 7, 4) #最大值
min(3, 5, 7, 4) #最小值

 

# 模块math提供了一些数学函数
import math
math.log(8, 2) #以2为底,8的对数
math.ceil(2.3) # 3,向上取整
math.floor(2.8) #2,向下取整
math.trunc(2.3) #2,截断小数
math.pi
math.e

 

#比较
#== != > < >= <=
a = 22
b = 7
a == b #False
a != b #True
a >= b #True
a <= b #False
a > b #True
a < b #False

 

#赋值
# =,+= -= *= /= %= //= **=
a = 10
a += 2 # 等价于a = a + 2
a
a,b,c=1,20,3
print(a, b, c)
a,b,c='123'
print(a, b, c)

 

#逻辑运算符
#and :两边为真才为真
#or: 一边为真就为真
# not: 对原值取反
#两边要求是布尔值
value = 1 > 0 and True
value
a > b and 1 < 0 #False
1>0 or False #True
1<0 or False #False
not a < b #False

 

# 成员运算符
# in, not in
'h' in 'hello'
'a' not in ['x', 'y', 'z']

 

#身份运算符
#is , is not
a = 1
b = 1
print(a is b)
a = 1000
b = 1000
print(a is b)

 

8、控制语句
# (1) 条件控制语句
print(1)
age = 17
if age > 18:
print(2)
print(3)
name = 'zhang3'
if name!='zhang3':
print(4)
else:
print(5)
print(6)
sex = '男 '
if sex == '男':
print(7)
elif sex == '女':
print(8)
elif sex == '中':
print(9)
else:
print(10)

 

#2) 循环语句
#A) while循环
print(1)
i = 1
while i <= 5:
print(2)
i = i + 1
print(3)

 

# 输出1到10的偶数
i = 2
while i <= 10:
print(i)
i = i + 2

 

# 输出1到10的偶数
i = 1
while i <= 10:
if i % 2 == 0:
print(i)
i = i + 1

 

#break 跳出循环
#continue 不再执行后面的代码,继续下一次的循环
i = 1
while i <= 5:
i = i + 1
if i == 4:
continue
print(i)

 

# for循环
# 语法: for 变量 in 序列
# range(10) 生成0-9,10个数,也就是默认是range(0,10)
# range(1, 10) 生成1-9, 9个数
for i in range(5): #生成0,1,2,3,4,分别赋值给i
print(i+1)
list(range(5))

 

# 输出1到10的偶数
for i in range(1, 11): #生成0,1,2,3,4,分别赋值给i
if i % 2 == 0:
print(i)

 

# 输出1到10的偶数
for i in range(2,11,2): #步长为2
print(i)
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!