# 基本输出
print("order")
和大部分脚本及Unix-shell 语言一样,Python 也使用【# 符号】标示注释,从#
开始,直到一行结束的内容都是注释,良好的注释习惯可以: 方便其他人了解程序功能 方便以后易读懂代码
除了#
号以外,引号在python 中也同样作为注释使用如三个连续单引号以及连续3 个双引号,通常引号内的字符串作为文档说明使用。
# 单行注释
'''
这是多行注释
多行注释
'''
"""
这也是多行注释
多行注释
"""
print("#单行注释,\"\"\"\多行注释,'''多行注释")
一行过长的语句可以使用反斜杠\
分解成几行。
print("I love py so so so so so so \
so so so so so so so so so s\
o so so so so so so so so \
so so so so so so so so much")
Python 推荐每条语句单独占一行,不推荐同行多句。可以使用分号;
将多个语句写在同一行上。
#两种表达,不建议同行多句
a=10
print(a)
a=10;print(a)
变量的类型和值在赋值那一刻被初始化,变量赋值通过赋值运算符=
来执行。
一个变量如果要使用,就给个值;如果不用,别让它出现。
username="Order"
# message="welcome,order!"
# message="welcome,"+username+"!"
message="welcome,{}!".format(username) # 经典写法
# message=f"welcome,{username}!"
print(message)
Python 语言中,等号=
是主要的赋值运算符。赋值并不是直接将一个值赋给一个变量。在Python 中,对象是通过引用传递的。在赋值时,不管这个对象是新创建的,还是一个已经存在的,都是将该对象的引用(并不是值)赋值给变量。
根据用户的输入打印欢迎信息
import sys
# username=sys.argv[1]
username=input("请输入:")
print("welcome,"+username)
参与运算的操作数是数字,结果也是数字。
算数运算符 | 解释 |
---|---|
+ | * 如果操作数是字符类型,则字符串拼接 * 如果操作数是数字类型,则算术运算。 |
- | |
* | * 如果操作数是数字类型,则算数运算。 * 如果两个操作数其中一个是字符串类型,另一个是数字类型,则将字符串重复输出。 |
/ | |
% | 取余 |
// | 取商 |
** | 幂运算 |
>>> 10 + 3
13
>>> 10 - 3
7
>>> 10 * 3
30
>>> "AJEST" * 5
'AJESTAJESTAJESTAJESTAJEST'
>>> 10 / 3
3.3333333333333335
>>> 10 % 3
1
>>> 10 // 3
3
>>> 10 ** 3
1000
>>>
运算结果是布尔类型的值。运算结果是布尔类型的值,True | False。
比较运算符 | 运算结果 |
---|---|
< | |
<= | |
> | |
>= | |
== | |
!= |
>>> 10 < 3
False
>>> 10 <= 3
False
>>> 10 > 3
True
>>> 10 >= 3
True
>>> 10 == 3
False
>>> 10 != 3
True
>>>
参与运算的操作数是布尔类型的值,运算结果是布尔类型的值。
逻辑运算符 | 解释 | 字符表达 |
---|---|---|
and | 逻辑与运算 | & |
or | 逻辑或运算 | | |
not | 逻辑非运算 |
>>> True and False
False
>>> True or False
True
>>> not True
False
>>>
和其他的高级语言一样,Python 也拥有一些被称作关键字的保留字符。任何语言的关键字应该保持相对的稳定,但是因为Python 是一门不断成长和进化的语言,其关键字偶尔会更新。
通过keyword 模块查看关键字。
import keyword
print(keyword.kwlist)
print(keyword.iskeyword("None"))
除了关键字之外,Python 还有可以在任何一级代码使用的“内建”的名字集合,这些名字可以由解释器设置或使用,内置函数就是在任何时候,任何地方都可以调用的函数。虽然built-in 不是关键字,但是应该把它当作“系统保留字”。
内置方法(函数),在任何地方都可以调用如下:
内置函数 | ||||
---|---|---|---|---|
abs() | delattr() | hash() | memoryview() | set() |
all() | dict() | help() | min() | setattr() |
any() | dir() | hex() | next() | slice() |
ascii() | divmod() | id() | object() | sorted() |
bin() | enumerate() | input() | oct() | staticmethod() |
bool() | eval() | int() | open() | str() |
breakpoint() | exec() | isinstance() | ord() | sum() |
bytearray() | filter() | issubclass() | pow() | super() |
bytes() | float() | iter() | print() | tuple() |
callable() | format() | len() | property() | type() |
chr() | frozenset() | list() | range() | vars() |
classmethod() | getattr() | locals() | repr() | zip() |
compile() | globals() | map() | reversed() | import() |
complex() | hasattr() | max() | round() |
保留的常量:
Python 中字符串被定义为引号之间的字符集合。Python 支持使用成对的单引号或双引号,无论单引号,还是双引号,表示的意义相同。Python 还支持三引号(三个连续的单引号或者双引号),可以用来包含特殊字符;Python 不区分字符和字符串。
# username='order'
# username="order"
# username='''order'''
username="""order"""
print(type(username))
字符串连接的时候可以使用+
或者*
。
使用+
号可以将多个字符串拼接在一起。或者使用*
号可以将一个字符串重复多次输出。
username='order'
# msg="welcome,"+username+"!"
# msg="welcome,"+username*5+"!"
msg=str(2)+'dog'
asciicode=ord('b')
print(msg)
print(asciicode)
print(chr(128515))
print(chr(969))
单个字符操作 | 例子 |
---|---|
将字符转化成ASCII 码 | ord(‘a’) |
将ASCII 码转化位字符 | chr(97) |
字符串操作 | 实例 |
---|---|
比较运算符: 字符串按照字符的ASCII 码值进行比较。 | ‘b’ < ‘bool’ ‘b’ > ‘abcd’ |
角标访问: 利用偏离量获取字符串中的字符。 | ‘AJEST’[1] |
切片:取子串 str[n:m],n,m 均代表偏移量,m > n,[n,m) str[::n],每n 个字母一组,取第一个字母 str[::-1],字符串反向 | ‘AJEST’[1:3] ‘AJEST’[::3] ‘AJEST’[::-1] |
成员关系: 字符串A 是否是字符串B 的子串 | ‘AJ’ in ‘AJEST’ ‘a’ not in ‘AJEST’ |
格式化字符 | 转换方式 |
---|---|
%s | 字符串 |
%d | 10 进制数 |
%e | 科学计数法 “%e” %10000000000 |
%f | 浮点数 |
辅助指令 | 作用 |
数值 | 定义宽度或小数点精度,例如:%5s,%.3f |
- | 左对齐 |
+ | 正负数前面显示符号 “%+d” %-10 |
# 字符串格式化输出.py
students = [
{"name":"AJEST", "age":24},
{"name":"Lilei", "age":25},
{"name":"Hanmeimei", "age":23}
]
print("name: %10s, age: %10d" % (students[0]["name"], students[0]["age"]))
print("name: %10s, age: %10d" % (students[1]["name"], students[1]["age"]))
print("name: %-10s, age: %-10d" % (students[2]["name"], students[2]["age"]))
Python2.6 开始,新增了一种格式化字符串的函数str.format()
,它增强了字符串格式化的功能。基本语法是通过{}
和 :
来代替以前的%
。format 函数可以接受不限个参数,位置可以不按顺序。
>>>"{} {}".format("hello", "world") # 不设置指定位置,按默认顺序
'hello world'
>>> "{0} {1}".format("hello", "world") # 设置指定位置
'hello world'
>>> "{1} {0} {1}".format("hello", "world") # 设置指定位置
'world hello world'
常用内建函数 | 说明 | 示例 |
---|---|---|
s.strip() | 删除字符串实例字符串两端的空白 | ’ AJEST '.strip() |
s.replace(sub,rep) | 搜索s 字符串中的sub, 并替换为rep | ‘ajest’.replace(‘e’,‘E’) |
s.split© | 分割字符串,并返回一个列表, 可以指定分隔符c,默认为空白。 | ‘127.0.0.1’.split(‘.’) |
s.center(width) | 返回一个原字符串居中, 并使用空格填充至长度width 的新字符串 | “AJEST”.center(11) |
s.upper() | 转换字符串实例中的小写字母为大写 | ‘ajest’.upper() |
s.lower() | 转换字符串实例中的大写字母为小写 | ‘AJEST’.lower() |
print('a' > 'b')
passwd='123456'
print(passwd=='123.com')
username='Order'
print('O' in username)
print('Od' in username)
print('Or' in username)
username='Order'
print(username[3])
s='Phpinfo();'
print(len(s))
print(s[2:4])
print(s[::-1])
print(s[1::2])
print('a' > 'b')
passwd='123456'
print(passwd=='123.com')
username='Order'
print('O' in username)
print('Od' in username)
print('Or' in username)