Python基础(一)

一、Python基础

1、注释

python不支持嵌套注释。      不管是多行注释还是单行注释,当注释符作为字符串的一部分出现时,就不能把它们视为注释标记,而应看成正常代码的一部风。‘’‘ ’‘’ , '' '' ''    '' '' '',没有将这三个引用看作多行注释,而是将他们看做字符串的开始和结束标志。

2、格式化输出

age = 18
name = 'TOM'
weight = 75.5
stu_id = 1

print('今年我的年龄是%d' % age)
print('我的名字叫%s' % name)
print('我的体重是%.3f' % weight)
print('我的体重是%03d' % stu_id)  # 不够三位,用0补全

print('我的名字叫:%s ,我的年龄是:%d' % (name,age))
print("我的名字叫:%s,我的年龄是:%d" % (name,age+1))  # 年龄加一岁

print("我的名字叫:%s,今年的年龄是:%d,我的体重是:%s,我的学号是:%03d" % (name,age,weight,stu_id))


name = "TOM"
age = 18
weight = 75.5

# %s比较强大
print('我的名字叫:%s,我的年龄是:%s,我的体重是:%s' % (name,age,weight))

name = 'TOM'
age = 16

# 语法:f'{表达式}'
# 这样的输出格式更加高效和简洁

print(f'我的名字叫{name},我的年龄为{age}')
%s (字符串)  %d(有符号的十进制整数)  %f(浮点数)  %c(字符)

3、转义字符和print的结束符

print('hello world')
print('hello\nworld')  # hello world直接换行输出
print('\thello')    # 前面输出空格再输出hello

#在python中,print()默认自带end='\n'这个换行结束符,用户可以按照需求更改结束符

print('hello', end='\n')
print('world')

print('hello', end='\t')
print('hello')

print('hello', end='...')
print('world')

4、输入与数据类型转换

passward = input('请输入您的密码:')
print(f'您输入的密码是:{passward}')

#1.input接收到的数据类型都是字符串

print(type(passward))

num = input("请输入一个数字:")
print(num)
print(type(num))

#2.强制转换为int类型

print(type(int(num)))

'''
因为得到数据类型并不是程序想要的数据类型,这个时候需要借助数据类型转换的函数来转换
'''
num = 1
str1 = '10'

#1.将数据转换成浮点类型 float()

print(type(float(num)))
print(float(num))
print(float(str1))

#2. 将数据转换成字符串型 str()

print(type(str(num)))

#3.序列转换成元组 tuple()

list1 = [10,20]
print(type(list1))
print(type(tuple(list1)))
print(tuple(list1))  	 # (100, 200)

#4. 将一个元组转换成序列 list()

t1 = (100,200)
print(list(t1)) 		# [100, 200]

#5.eval() 计算在字符串中的有效Python表达式,并返回一个表达式。把字符串中的数据转换成他原本的类型

str3 = '1'
str4 = '2.1'
str5 = '(10,20)'
str6 = '[10,20]'
print(type(eval(str3)))   # <class 'int'>

5、逻辑运算符的使用

a = 0
b = 1
c = 2

1.and
print((a < b) and (a < c))   # True
print(a > b and a < c)		# False
2.or
print(b > c or a < c)  # True
3.not
print(not a < b)	# False

6、判断循环语句

1、if…elif…
age = int(input('请输入您的年龄'))
if age < 18:
   print(f'您输入的年龄是{age},童工')
elif (age >= 18) and (age <= 60):
条件的简化写法*   elif 18 <= age <= 60:
   print(f'您输入的年龄是{age},合法')
elif age > 60:
   print(f'您输入的年龄是{age},退休')
2、三目运算
# 三目运算符
a = 1
b = 2
c = a if a > b else b
print(c)

aa = 10
bb = 6
cc = aa - bb if aa > bb else bb - aa
print(cc)


#随机数的使用
	1.导入模块
   import random
   2.使用这个模块中的功能
   random.randint

3、while

# 1-100 累加和 
i = 1 
result = 0 
while i <= 100:    
   result += i   
   i += 1 
print(result)


# 打印三角形,每行星星的个数和行号数相等
# j表示行号
j = 0
while j < 5:
   # 一行星星的打印
   i = 0
   while i <= j:
       # i表示每行里面星星的个数,这个数字要和行号相等所以i要和j联动
       print('*', end='')
       i += 1
   # 利用空的print来进行换行
   print()
   j += 1

   
#九九乘法表
j = 1
while j <= 9:
   # 一行表达式的开始
   i = 1
   while i <= j:
       print(f'{i} * {j} = {i*j} ' , end='\t')
       i += 1
   # 一行表达式的结束
   print()  # 自带换行符
   j += 1

4、for…else…

str1 = 'ilovepython'
for i in str1:
   # 当某些条件成立,退出循环  条件:i取到字符e的时候退出循环
   if i == 'e':
       # continue
       break
   print(i)
   
str1 = 'ilovepython'
for i in str1:
   print(i)
else:
   print('循环正常结束执行的else代码')

7、字符串

一、下标和切片

# 序列名[开始位置的下标:结束位置的下表:步长]
# 取值区间左闭右开的

str1 = '012345678'
# print(str1[2:5:1]) 234
# print(str1[2:5:2]) 24
# print(str1[2:5]) 234  # 如果不写步长,默认步长是1
# print(str1[:5]) 01234   # 如果不写开始,默认从0开始选取
# print(str1[2:]) 2345678 # 如果不写结束,表示选取到最后
# print(str1[:]) 012345678  # 如果不写开始和结束,表示选取所有

# 负数测试
# print(str1[::-1]) 876543210 # 如果步长为负数,表示倒叙选取
# print(str1[-4:-1])  567    下标为-1表示最后一个数据,依次向前类推

# 终极测试
# print(str1[-4:-1:1]) 567
print(str1[-4:-1:-1]) # 不能选取出数据:从-4开始到-1结束,选取方向从左到右,但是-1步长:从右向左选取
# 如果选取方向(下标开始到结束的方向)和步长方向冲突,则无法选取数据
print(str1[-1:-4:-1]) # 876 方向一致就可以正确输出

二、字符串常用操作方法(查找,修改,判断)

1、查找

mystr = 'hello world and itcast and itsmail and Python'

# 1. find()
print(mystr.find('and')) # 输出的是12,以为下标是从0开始数的
print(mystr.fing('and',15,30))
print(mystr.find('ands')) # -1,ands字串不存在

# 2. index
print(mystr.find('and')) # 12
print(mystr.find('and',15,30)) #23
print(mystr.index('ands')) #如果index查找字串不存在,报错

# 3. count()
print(mystr.count('and')) 3
print(mystr.count('and',15,30)) 1
print(mystr.count('ands')) 0

# 4. rfind()
print(mystr.rfind('and')) 35
print(mystr.find('ands')) -1 如果没找到,则返回-1

# 5. rindex()
print(mystr.rindex('and')) 35  就算是到着找,它的下标还是从左到右从下标0开始的
print(mystr.rindex('ands'))

2、修改

# 遇到列表、字典,内部的数据可以直接修改,修改的就是原列表或者原字典。叫做可变类型。
# 字符串是一个不可变类型的数据

mystr = 'hello world and itcast and itheima and Python'
# replace() 把and换成he replace函数有返回值,返回值是修改后的字符串
new_str = mystr.replace('and','he')
# new_str = mystr.replace('and','he',1)
# 替换次数如果超出字串出席那的次数,表示替换所有这个字串
# new_str = mystr.replace('and','he',10)
print(mystr)
print(new_str)

# 调用了replace函数后,发现原有字符串的数据并没有做到修改,修改后的数据是replace函数的返回值
# 说明字符串是不可变数据类型
# 数据是否可以改变划分为 可变类型,不可变类型

# 2. split()  分割,返回一个列表,丢失分割字符
list1 = mystr.split('and')
print(list1)

# 3. join() 合并列表里面的字符串数据为一个大字符串
mylist = ['aa','bb','cc']
new_str = '...'.join(mylist)
print(new_str)

3、判断

# 判断开头或结尾
mystr = 'hello world and itcast and itheima and Python'
# 1. startswith(字串,开始位置下标,结束位置下标):判断字符串是否以某个字串开头
print(mystr.startswith('hello'))
print(mystr.startswith('hel'))
print(mystr.startswith('hels'))
print(mystr.startswith('hell',0,10)) 开始位置下标和结束位置下标可以省略

# 2. endswich(字串,开始位置下标,结束位置下标),始位置下标和结束位置下标可以省略
print(mystr.endswith('Python'))
print(mystr.endswith('Pythons'))

# 判断
3. isalpha():字母  纯字母才可以,如果中间有空格返回的false
print(mystr.isalpha())

# 4. isdigit():数字,中间也不能有空格,否则返回false
print(mystr.isdigit())
mystr1 = "12345"
print(mystr1.isdigit())

# 5. isalnum():数字或字母或组合
print(mystr1.isalnum()) # True
print(mystr.isalnum())  # False 因为中间有空格
mystr2 = 'abc123'
print(mystr2.isalnum())

# 6. isspace():判断是否是空白,是返回True
print(mystr.isspace())  # False
mystr3 = ' '
print(mystr3.isspace())	 # True
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值