Python学习笔记--基础语法
(一)字面量
1. 定义:在代码中,被写下来的固定的值,称之为字面量。
2. 常用的6种值的类型
类型 |
描述 |
说明 |
数字(Number) |
支持(4种子类型)
|
|
字符串(String) | 描述文本的一种数据类型 | 字符串(string)由任意数量的字符组成 |
列表(List) | 有序的可变序列 | Python中使用最频繁的数据类型,可有序记录一堆数据 |
元组(Tuple) | 有序的不可变序列 | 可有序记录一堆不可变的Python数据集合 |
集合(Set) | 无序不重复集合 | 可无序记录一堆不重复的Python数据集合 |
字典(Dictionary) | 无序Key-Value集合 | 可无序记录一堆Key-Value型的Python数据集合 |
3. 字符串
Python中,字符串需要用双引号包围;
被双引号包围的都是字符串
666
13.14
"黑马程序员"print( 666 )
print( 13.14 )
print( "黑马程序员" )# 输出语句结果
>>666
>>13.14
>>"黑马程序员"
(二) 注释
1. 单行注释
# 我是单行注释
print( "黑马程序员" )
规范:#号和注释内容一般建议以一个空格隔开
2.多行注释:以一对三个双引号引起来("""注释内容""")来解释说明一段代码的作用使用方法
"""我是多行注释 66613.14"黑马程序员"
"""print( 666 )
print( 13.14 )
print( "黑马程序员" )
(三) 变量
1. 定义:程序运行时,能储存计算结果或表示值的抽象概念。
简单的说,变量就是在程序运行时,记录数据用的
2.定义格式:
变量名称 = 变量的值
# 定义变量
money = 5000# print输出变量
print( " 钱包还有:" , money )# 买了东西,花费10元
money = money - 10
print( "买了冰淇淋花费10元,还剩余:" , money , "元" )
变量值可变
$练习:
(四) 数据类型
1. type()语句【具有返回值】
1)语法:
type(被查看类型的数据)
2)使用方法:
# 方式1:使用变量存储type()语句的结果
string_type = type("黑马程序员")
int_type = type(666)
print(string_type)
print(int_type)
# 方式2:使用print直接输出类型信息
print( type( 13.14 ) )#方式3:使用type()语句,查看变量中存储的数据类型信息
name = "黑马程序员"
name_type = type( name )
print( name_type )
2. 变量无类型,查看变量的类型实际上查看的是变量存储数据的类型
字符串变量:不是字符串是变量,而是变量存储了字符串
(五) 数据类型转换
1. 常见的转换语句
语句(函数) | 说明 |
int( x ) | 将x转换为一个整数 |
float( x ) | 将x转换为一个浮点数 |
str( x ) | 将对象x转换为字符串 |
此三种语句具有返回值
万物皆可转字符串,因为加上双引号就是字符串
# 将数字类型 -> 字符串类型
num_str = str( 11 )
print( type( num_str ) , num_str )float_str = str( 13.14 )
print( type( float_str ) , float_str )#将字符串转换成数字
num = int( "11")
print(type(num),num)
num2=float("13.14")
print(type(num2),num2)
想要将字符串转换成数字,必须要求字符串内的内容都是数字(例子如下)
num3 = int ( "黑马程序员" )
print( type( num3 ) , num3 )>> ValueError: invalid literal for int() with base 10: '黑马程序员'/*这行代码是命令提示符操作结果*/
浮点数转整数会丢失精度
# 整数 -> 浮点数
float_num = float( 11 )
print( type( float_num ) , float_num )# 浮点数 -> 整数
int_num = int( 13.14 )
print( type( int_num ) , int_num )
(六)标识符
1. 定义:用户在编程时所用的一系列名字,用于给变量、类、方法等命名。
2. 命名规则:
内容限定(英文,中文,数字,下划线_)
数字不可开头
大小写敏感
不可使用关键字
3. 命名规范:
见名知义
下划线命名法(firstname不如写成first_name)
英文字母全小写
(七) 远算符
1. 算术运算符:+、-、*、/、//、%、**(指数)
# 算术(数学)运算符
print("1 + 1 = ",1 + 1)
print("2 - 1 = ",2 - 1)
print("3 * 3 = ",3 * 3)
print("4/ 2 = ",4 / 2)
print("11//2 = ",11 // 2)
print("9 % 2 = ",9 % 2)
print("2 **2= ",2 ** 2)
2. 赋值运算符:=
3. 复合赋值运算符:+=、-=、*=、/=、//=、%=、**=
# 复合赋值运算符
num=1
num += 1 #num=num+1;
print("num+=1: ",num)
num -=1
print("num-=1: ",num)
num *=1
print("num *=1: ",num)
num /=2
print("num/=2: ",num)
num %=2
print("num %=2: ",num)num=4
num**=2
print( "num**=2: ", num)num=9
num //=2
print("num //=2: ",num)
(八) 字符串扩展
1. 3种定义方式
1)定义形式:
① 单引号定义法:
name = '黑马程序员'
②双引号定义法:
name = "黑马程序员"
③三引号定义法:
name = """黑马程序员"""
*支持换行操作,使用变量接收它,则为字符串;不使用变量接收,则为多行注释
# 单引号定义法,使用单引号进行包围
name = '黑马程序员'
print( type(name) )# 双引号定义法,写法和多行注释是一样的
name = "黑马程序员"
print( type(name) )# 三引号定义法,写法和多行注释是一样的
name = """
我是
黑马
程序员
"""
print( type(name) )
2)字符串的引号嵌套
①单引号法,可以内含双引号;
②双引号定义法,可以内含单引号;
②可以使用转义字符(\\)来将引号解除效用,变成普通字符串。
# 字符串内,包含双引号
name = '"黑马程序员"'
print( name )# 字符串内,包含单引号
name = "'黑马程序员'"
print( name )# 使用转义字符(\\)解除引号的效用
name = "\\"黑马程序员\\""
print( name )
name = '\\'黑马程序员\\''
print( name )
2. 字符串拼接
1)通过+号进行拼接
name = "黑马程序员"
print( "我的名字是:" + name + "我可以教大家IT技能" )
无法和非字符串类型进行拼接(如下图和整型数字就没法拼接,出现TypeError错误,当然浮点数或者还有一些其他的也是没法拼接的)
name="黑马"
adress="北京"
Tel=15245
print("我的名字是:"+name+",地址在:"+adress+",电话是:"+Tel)
3. 字符串格式化
1)“%占位符”%变量
class_num=57
avg_salary=16781
message="Python大数据学科,北京%s期,毕业平均工资:%s" %(class_num,avg_salary)
print(message)
可以发现%占位符拼接没有整型的限制
2)常用占位符
字符串:%s
整数: %d
浮点数:%f
name="传智播客"
setup_year=2006
stock_price=19.99
message="%s,成立于:%d,我今天的股价是:%f" % (name,setup_year,stock_price)
print(message)
3)数字精度控制
辅助符号“m.n”来控制数据的宽度和精度
m :控制宽度,要求是数字(很少使用),设置的宽度小于数字本身,不生效
.n:控制小数点精度,要求是数字,会进行小数的四舍五入
%5d:表示将整数的宽度控制在5位,如数字11,被设置为5d,就会变成:[空格][空格][空格]11,
用三个空格补足宽度%5.2f:表示将宽度控制为5,将小数点精度设置为2%.2f:表示不限制宽度,只设置小数点精度为2,如11.345设置为%.2f,结果是11.35小数点和小数部分也算入宽度计算。如:对11.345设置为%7.2后,
结果是:[空格][空格]11.35。2个空格补足宽度,小数部分限制2位精度,四舍五入为.35
代码如下:
num1=11
num2=11.345
print("数字11宽度限制为5,结果为:%5d" % num1)
print("数字11宽度限制为1,结果为:%1d" % num1)
print("数字11.345宽度限制为7,结果为:%7d" % num2)
print("数字11.345宽度不限制,小数精度为2,结果为:%.2d" % num2)
4)快速写法
语法:
f"内容{变量}"
"""
演示第二种字符串格式化的方式:f"{占位}"
"""
name="传智播客"
set_up_year=2006
stock_price=19.99
print(f"我是P{name},我成立于:{set_up_year},我今天的股价是:{stock_price}")
"""
演示对表达式进行字符串格式化
"""
print("1*1的结果是:%d" % (1*1))
print(f"1*2的结果是:{1*2}")
print("字符串在python中的类型名是:%s"% type("字符串"))
$练习:
name="传智播客"
stock_price=19.99
stock_code="003032"
stock_price_daily_growth_factor=1.2
growth_days=7
print(f"公司:{name},股票代码:{stock_code},当前股价:{stock_price}")
print("每日增长系数是:%.1f" % stock_price_daily_growth_factor,"经过7天的增长后,股价达到了:%0.2f," % (stock_price_daily_growth_factor*growth_days))
# print("每日增长系数是:%.1f,经过7天的增长后,股价达到了:%0.2f" %(stock_price_daily_growth_factor,stock_price_daily_growth_factor*growth_days))
# 这里切记如第7行,后面出现两个及以上变量要用括号表起来,单个变量不需要
(九)数据输入
1. 语法
input();
2. 使用:
使用input()语句可以从键盘获取输入
使用一个变量接收(存储)input语句获取的键盘输入数据即可
数据输出:print
数据输入:input
1.
print("请输入")
name=input()
print("我知道了,你是:%s" % name)
2.
# print("请输入")
# name=input()
# print("我知道了,你是:%s" % name)
# 上面代码等价与下面的代码
name=input("请输入")
print("我知道啦,你是:%s" %name)
3.
num=input("请告诉我你的银行卡密码:")
print("你的银行卡密码的类型是:",type(num))
4.强制转换类型
num=input("请告诉我你的银行卡密码:")
# 数据类型转换
num=int(num)
print("你的银行卡密码的类型是:",type(num))
$练习:
user_name=input("用户名称为:")
user_type=input("用户类型为:")
print("你好:%s,你是尊贵的:%s用户,欢迎你的光临!!!"%(user_name,user_type))