前言:
作者是在校本科生,所作的文章均是自己在学习python过程中所做的笔记。
如有不足或错误,还请各位指出。一起学习,一起进步!
Python变量与常量:
变量:在程序运行过程中可以改变其值的量。
常量:在程序运行过程中值不能改变的量,命名习惯上一般使用大写字母。
字符串大小写转换
format函数详解
Python中*与**的含义及使用
Python支持的转义字符
字符串中空白的处理方法
字符串类型就是一系列字符。在python中使用字符串时要用双引号(“”)或单引号(‘’) 单引号要特别注意,在其他编程语言里很少会用单引号作为字符串的标志。
# 字符串的大小写转换可以用于格式化输出,或是数据的格式化存储。
s1 = "hello world!"
s2 = s1.title() #将每个单词的首字母大写
s3 = s1.upper() #将单词的每一个字母均大写
s4 = s1.lower() #将单词的每一个字母均小写
print(s1)
print(s2)
print(s3)
print(s4)
运行结果:
hello world!
Hello World!
HELLO WORLD!
hello world!
format函数用于对字符串的格式化输出。
# 两种形式
first_name = "Wang"
last_name = "Xiao"
full_name = f"{first_name} {last_name}"
message = "Hello, {}".format(full_name)
print(full_name)
print(message)
结果:
Wang Xiao
Hello,Wang Xiao
将列表或字典作为format函数的变量:
# using a list as a parameters
lis = ['Wang Xiao','Xiao','Wang']
print('My full name is {0}, my first name is {2} and my last name is {1}.'.format(*lis))
# using a dictionary as a parameters
dic = {
"full_name":"Wang Xiao",
"first_name":"Wang",
"last_name":"Xiao"
}
print('My full name is {full_name}, my first name is {first_name} and my last name is {last_name}.'.format(**dic))
结果:
My full name is Wang Xiao, my first name is Wang and my last name is Xiao.
My full name is Wang Xiao, my first name is Wang and my last name is Xiao.
字符串对齐操作:
{:(冒号) + (占位符) + (<(字符串靠左)/>(字符串靠右)/^(字符串居中)) + (总长度)}
print("{:*<10}".format('hello'))
print("{:*>10}".format('hello'))
print("{:*^20}".format('hello'))
print("{:+^50}".format('Python'))
结果:
hello*****
*****hello
*******hello********
++++++++++++++++++++++Python++++++++++++++++++++++
利用format函数格式化数字:
num = 11
print('{:b}'.format(num)) # 二进制
print('{:d}'.format(num)) # 十进制
print('{:o}'.format(num)) # 八进制
print('{:x}'.format(num)) # 十六进制
print('{:#x}'.format(num)) # 十进制
print('{:#X}'.format(num)) # 十进制
# 保留小数点后两位的正数
print("{:.2f}".format(3.14456))
# 保留小数点后零位(保留整数)
print("{:.0f}".format(3.1415926535))
# 用千位分隔符将数字隔开
print("{:,}".format(1000000))
# 保留一位小数的百分数
print("{:.1%}".format(0.25))
结果:
1011
11
13
b
0xb
0XB
3.14
3
1,000,000
25.0%
# 1.收集列表中多余的值
# 一般情况下 如果想一次性对多个变量赋值那么操作如下:
a,b = [1,2]
print(a)
print(b)
# 但是如果输出的值的数量超过了变量名称的话就会报错
# a,b = [1,2,3]
# 利用*可以收集列表中多余的变量
a,*b = [1,2,3,4,5]
print(a)
print(b) # 注意此时变量b是一个列表而不是数字
结果:
1
2
1
[2, 3, 4, 5]
# 2. 在函数中的应用
# 在函数中分为在函数定义时应用和在函数调用时应用
# (1)在函数定义时应用
def my_print(*params):
print(params)
my_print(1,2,3,4,5)
# 此时函数my_print只有一个变量params,但是可以向这个函数传递不止一个的参数,*会将这些参数生成一个元组并赋予params。
# 可以利用索引调用元组中的变量:
def my_print(*params):
print(params)
print(params[0])
my_print(1,2,3,4,5)
# 在函数定义时**的应用:
# **可以将多个参数作为字典传给params:
def my_print(**params):
print(params)
my_print(a=1,b=2,c=3)
结果:
(1, 2, 3, 4, 5)
(1, 2, 3, 4, 5)
1
{'a': 1, 'b': 2, 'c': 3}
# (2)在函数调用时使用:
# 在函数调用时使用就是将在函数定义时的应用反了过来。
def my_print(a,b):
print(a)
print(b)
# 如果我们向函数my_print中只传入一个参数那么必然会报错
params = ['Hello, ','World!']
my_print(params)
结果:
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
in ()
6 # 如果我们向函数my_print中只传入一个参数那么必然会报错
7 params = ['Hello, ','World!']
----> 8 my_print(params)
TypeError: my_print() missing 1 required positional argument: 'b'
# 如果运用*就可以解决
my_print(*params)
# 同理运用**也可以解决,但是此时的参数需要是一个字典的类型
params = {'a':'Hello,','b':'World!'}
my_print(**params)
结果:
a
b
Hello,
World!
# 下面这个函数在定义时同时运用了*与**
# 在执行函数时,函数会先将数组a填满,然后如果发现后面还有字典类型的数据,则会以字典形式完善字典b
def my_print(*a,**b):
print(a)
print(b)
my_print(1,2,3,4,a=1,b=2)
结果:
(1, 2, 3, 4)
{'a': 1, 'b': 2}
转义字符 | 说明 |
---|---|
\n | 换行符 |
\r | 回车符 |
\t | 制表符,即tab建,相当于四个空格 |
\a | 蜂鸣器响铃(计算机蜂鸣器发声) |
\b | 退格(Backsapce),将光标位置移到前一列 |
\\ | 反斜线 |
\’ | 单引号 |
\" | 双引号 |
\ | 在字符串行尾的续航符,即一行未写完,转到下一行继续写 |
空白在python中指的是空格(space) 或 换行(enter) 或 制表符(tab)
p = ' python\t'
print('打印初始字符串:')
print(p)
print('删除右侧空白:')
print(p.rstrip())
print('删除左侧空白:')
print(p.lstrip())
print('删除两侧空白:')
print(p.strip())
结果:
打印初始字符串:
python
删除右侧空白:
python
删除左侧空白:
python
删除两侧空白:
python
Tips:在检测输出的字符串左右是否有空格时可以选中整行,观察是否有空格存在。