菜鸡自学 Python笔记 (一)
一.输入与输出
1.print()输出
print(value,…, sep=’ ‘, end=’\n’)
- value 是用户要输出的信息,后面的省略号表示可以有多个要输出的信息
print("Hi", "world", "Hi", "Asu")
- sep用于设置多个要输入信息之间的分割符,默认为一个空格。
print("Hi", "world", "Asu", "Hi", sep='*')
- end 是一个所有要输出信息后添加的符号,默认为换行符
print("Hi", "world", "Asu", "Hi", end=':)')
2.input()输入
input([prompt])
- prompt 为提示信息
name = input("Name: ")
print(name)
!这里注意:用户输入的不管是字符还是数字都会以字符串的方式返回。如果需要用的数值,需要类型的转换。
name = input("What's your name? ")
print("Hi " + name)
x = int(input('input a number: '))
print(x+1)
二.变量
1.变量命名规则
遵循C语言的命名规则。(但多用小写和下划线_)
标识符可以由字母、数字、下画线(_)组成,其中数字不能打头。
标识符不能是 Python 关键字,但可以包含关键字。
标识符不能包含空格。
(关键字不能作为变量名,并且首位字母要大写,如,False,Ture)
2.变量赋值
python 中的变量不需要声明。
但每个变量使用前都必须赋值,变量赋值后才会被创建。
简单赋值:
rating = 4.9
name = 'Asu'
is_published = False
price = 10 # 变量赋值
print(price)
# 10
price = 20 # 变量的重置
print(price)
# 20
多样赋值:
x = y = z = 1 # 同时为多个变量赋值
print(x, y, z)
x, y, z = 1, 'Asu', False
print(x, y, z) # 同时为多个对象赋不同的值
# 注意左右两边的数量要完全一致
也可以这样进行量的交换:
x, y = 1, 2
print(x, y)
x, y = y, x
print(x, y)
3.变量类型
Python有五个标准的数据类型:
- Numbers(数字)
- String(字符串)
- List(列表)
- Tuple(元组)
- Dictionary(字典)
print(type(1))
print(type(1.0))
print(type(1.5+0.5j))
print(type('Asu'))
print(type(True))
# ……
三.字符串
1.字符串的创建
我们通常将字符串用双引号或单引号或三引号包裹
如果字符串内本就有单引号或双引号,需要合理运用表示字符串的引号
string1 = 'Python for Beginners'
string2 = "I'm Asu."
string3 = 'I call him "Dodo"'
# 三引号用于定义长字符串,跨越多行字符串。
course = '''
Hi Asu,
How are you?
I'm Dodo.
'''
print(string1)
print(string2)
print(string3)
print(course)
2.字符串的索引
string1 = 'Python for Beginners'
print(string1[0]) # 第一个字符的索引
print(string1[-1]) # 最后一个字符的索引
print(string1[-2]) # 倒数第二个字符的索引
# 【】冒号表示开始和结束(分割指定范围的字符)
print(string1[0:3]) # 索引第一个到第三个字符,结束字符并不会被打出
print(string1[3:]) # 若没有结束位置,会直接从开始将字符串打印出头
print(string1[:3]) # 同样如果只保留结束,则打印结束前的字符串
print(string1[1:-1])
(列表的索引也类似:
names=['Asu', 'Dodo', 'Gary', 'Nini']
print(names)
print(names[1])
print(names[-1])
print(names[1:3])
print(names[1:])
3.格式化输出字符串
字符串与变量的结合输出,如果一直用+,难免有些繁琐,这里我们可以使用 f '{变量} ’ 的形式输出。
name1 = 'Asu'
name2 = 'Dodo'
message = 'Hi '+name1+'.'+'Hi '+name2+'.'
msg = f'Hi {name1}.Hi {name2}.'
print("message:"+message)
print("msg:"+msg)
转换说明符:
age = 19
print("Age: %d" % age)
name = 'Asu'
print("Name: %s" % name)
4.转义字符
转义字符 | 描述 |
---|---|
\ 在行尾时 | 续行符 |
\ \ | 反斜杠符号 |
\ ’ | 单引号 |
\ " | 双引号 |
\a | 响铃 |
\b | 退格(Backspace) |
\000 | 空 |
\n | 换行 |
\v | 纵向制表符 |
\t | 横向制表符 |
\r | 回车,将 \r 后面的内容移到字符串开头,并逐一替换开头部分的字符,直至将 \r 后面的内容完全替换完成。 |
\f | 换页 |
\yyy | 八进制数,y 代表 0~7 的字符,例如:\012 代表换行。 |
\xyy | 十六进制数,以 \x 开头,y 代表的字符,例如:\x0a 代表换行 |
5.字符串函数
1 )
message = 'Hi,Asu.'
print(len(message)) # 长度函数len()
print(message.upper()) # 将字符串都变成大写
print(message.lower()) # 将字符串都变成小写
print(message.title()) # 将每个空格前的单词的第一个字母变大写
print(message.capitalize()) # 将字符串的第一个字母变为大写,其他都变成小写
2 ) count() 统计字符串中某个字符出现的字数
str.count(sub, start= 0,end=len(string))
- sub – 搜索的子字符串
- start – 字符串开始搜索的位置。默认为第一个字符,第一个字符索引值为0。
- end – 字符串中结束搜索的位置。字符中第一个字符的索引为 0。默认为字符串的最后一个位置。
message = 'Hi,Asu.'
print(message.count('A'))
print(message.count('A', 0, 2))
3 ) find( ) 查找
检查字符串中是否包含某个字符
str.find(str, beg=0, end=len(string))
- str – 指定检索的字符串
- beg – 开始索引,默认为0。
- end – 结束索引,默认为字符串的长度。
print(message.find('H')) # 返回返回第一次出现该索引的位置
print(message.find('h')) # 没有找到这个字符时返回-1
print(message.find('Asu')) # 返回何时出现该字符串的位置```
同样的还有
- index( ) :如果包含子字符串返回开始的索引值,否则抛出异常。
- 判断是否字符是否在字符串上,将返回布尔值False或True
print('Hi' in message) # 与find()的不同点在于返回值
4 ) replace() 替换
message = 'Hi,Asu.'
print(message.replace('Asu', 'Dodo'))
另外还有很多字符串函数,可参考
链接: https://www.runoob.com/python3/python3-string.html.
四.运算
1.打印中运算
print(10*3)
print(10/3)
print(10//3) # 双斜杠都到整数结果
print(10 % 3)
print(10**3) # 幂次运算,这里指10的3次方
2.增广赋值运算
x = 10
x += 3 # 加
print(x, end=' ')
x -= 3 # 减
print(x, end=' ')
x /= 3 # 除
print(x, end=' ')
x *= 3 # 乘
print(x, end=' ')
x **= 3 # 幂
print(x, end=' ')
x %= 3 # 取模
print(x, end=' ')
x = 2.9
print(round(x)) # 四舍五入函数
print(abs(-2.9)) # 绝对值函数
3.比较运算符
运算符 | 含义 | 举例 |
---|---|---|
== | 等于,比较是否相等 | (1==2)返回False |
!= | 不等于,比较是否不相等 | (1!=2)返回Ture |
> | 大于 | 2>3 返回False |
< | 小于 | 2<3 返回Ture |
>= | 大于等于 | 3>=1 返回Ture |
<= | 小于等于 | 3<=1 返回False |